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??