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