Olá Pessoal, tudo bem?
Estou com dificuldade na utilização do KXML, estou precisando ler o seguinte conteúdo do meu arquivo .xml
[code]<?xml version="1.0" encoding="iso-8859-1" ?>
- display 240 291 4096 1.1
- processor 16.9 mHz
- Memory 2097152 1917188
- network COM1,COM2 Porta COMM não está disponível socket
Preciso listar por ELEMENT ID , ou seja quando element id=1 lista as tags filhos dele, quando element id=2 lista as tags filhos dele.
Alguem sabe como fazer?
Meu código até o momento está assim:
[code]public void parser(InputStream in) throws Exception {
//Inicia o XMLParser
//instância da classe KXmlParser
KXmlParser parser = new KXmlParser();
//seta como entrada do parser o InPutStreamReader in que contem o XML para a leitura
parser.setInput(new InputStreamReader(in));
//Posiciona na tag agenda
parser.nextTag();
//posiciona o parser na tag desejada, neste caso: agenda.
parser.require(XmlPullParser.START_TAG, null, "mbresources");
//Enquanto é diferente do final da tag
while (parser.nextTag() != XmlPullParser.END_TAG) {
//Posiciona na tag pessoa
parser.require(XmlPullParser.START_TAG, null, "element");
/*para cada pessoa encontrada é chamado o método
parserPessoa para ler os seus elementos.*/
parserXML(parser);
//posiciona no final da tag pessoa
parser.require(XmlPullParser.END_TAG, null, "element");
}
//posiciona no final da tag agenda
parser.require(XmlPullParser.END_TAG, null, "mbresources");
}
private void parserXML(KXmlParser parser) throws Exception {
//Enquanto é diferente de
while (parser.nextTag() != XmlPullParser.END_TAG) {
/*Posiciona no inicio de uma tag que esteja dentro da tag pessoa,
* não importando quais os nomes das tags. Ex: nome ou fone */
parser.require(XmlPullParser.START_TAG, null, null);
//obtem o nome da tag
String name = parser.getName();
//obtem o texto da tag
String text = parser.nextText();
System.out.println("Tag: " + name + " -> " + text);
//Posiciona no fim da tag fone ou nome
parser.require(XmlPullParser.END_TAG, null, name);
}
}[/code]