Ler elementos de um XML

4 respostas
L

Estou tentando ler os elementos de um xml. Preciso fazer uma função recursiva que percorra todo o xml e mostre seus elementos.

Como posso fazer isso?

Meu xml:

<cat:CatalogoSistema xmlns:cat="http://nowhere.to.go">
  <cat:Sistema>Comercio</cat:Sistema>
  <cat:Elementos>
    <cat:Elemento>
      <cat:Nome>ComercioRaiz</cat:Nome>
      <cat:Tipo>ComercioRaiz</cat:Tipo>
      <cat:Elementos>
        <cat:Elemento>
          <cat:Nome>ComercioPadaria</cat:Nome>
          <cat:Tipo>ComercioPadaria</cat:Tipo>
          <cat:Elementos>
            <cat:Elemento>
              <cat:Nome>ComercioRaizPadariafarinha</cat:Nome>
              <cat:Tipo>java.math.BigDecimal</cat:Tipo>
            </cat:Elemento>
            <cat:Elemento>
              <cat:Nome>ComercioRaizPadariaoleo</cat:Nome>
              <cat:Tipo>java.math.BigDecimal</cat:Tipo>
            </cat:Elemento>
            <cat:Elemento>
              <cat:Nome>ComercioRaizPadariafermento</cat:Nome>
              <cat:Tipo>java.math.BigDecimal</cat:Tipo>
            </cat:Elemento>
            <cat:Elemento>
              <cat:Nome>ComercioRaizPadarialeiteDesnatado</cat:Nome>
              <cat:Tipo>java.math.BigDecimal</cat:Tipo>
            </cat:Elemento>
            <cat:Elemento>
              <cat:Nome>ComercioRaizPadariamacarrao</cat:Nome>
              <cat:Tipo>java.math.BigDecimal</cat:Tipo>
            </cat:Elemento>
            <cat:Elemento>
              <cat:Nome>ComercioRaizPadariaaguaMineral</cat:Nome>
              <cat:Tipo>java.math.BigDecimal</cat:Tipo>
            </cat:Elemento>
	    </cat:Elementos>
	 </cat:Elemento>
	</cat:Elementos>
    </cat:Elemento>
  </cat:Elementos>
</cat:CatalogoSistema>

Fiz dessa forma:

Elemento[] itemArray = pod.getCatalogoSistema().getElementos().getElementoArray();

for (int i=0; i<itemArray.length; i++){

System.out.println("\n"+itemArray[i].getNome());

System.out.println("\n"+itemArray[i].getTipo());

}

Mas só aparece:

ComercioRaiz

ComercioRaiz

Alguém pode me ajudar??

4 Respostas

afdestro

existem milhões de tópicos iguais a esse aqui no guj…

utilize o jdom ou xstream…

L

Pois é, mas nenhum dos tópicos que encontrei sanou minhas dúvidas.

Eu já estou utilizando o XmlBeans no projeto.

georgesq

Livia, bom dia, veja algo sobre sax parse, nele vc desenvolve uma classe que vc vai verificando que tag ele esta, dai vc vai montando seu bean ou algo do tipo. O custo de trabalhar com DOM é muito grande.

[s]
baiano

L

Obrigada, estou procurando sim. Vou estudar.

Mas como preciso disso rápido alguém tem alguma dica com este problema??

Criado 17 de janeiro de 2007
Ultima resposta 17 de jan. de 2007
Respostas 4
Participantes 3