Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/09/2015, 12:47
wagego
 
Fecha de Ingreso: agosto-2015
Mensajes: 24
Antigüedad: 9 años, 2 meses
Puntos: 0
leer nodo por nodo y atributos de xml

Gente, tengo un problema.
Actualmente estoy parseando un xml, para leer ciertos tags y/o atributos.
Hasta aca todo bien, porque busco el nodo mediante el

donde tag es el nombre del nodo a buscar. Con eso vengo obteniendo todo lo necesario.
Element el = (Element) doc.getElementsByTagName(tag).item(0);
return el.getElementsByTagName(tag2).item(0).getTextConte nt();

El problema es que en cierto momento, necesito recorrer absolutamente todo el xml y guardar el "nombre nodo" y su valor, pero no logro entender como realizarlo..

Por ejemplo.

Código:
<CFE_Adenda>
<CFE version="1.0" optativa="no">
<eFact>
<TmstFirma>2015-08-21T14:45:25.191-03:00</TmstFirma>
<Encabezado>
<IdDoc>
<TipoCFE>111</TipoCFE>
<Serie>A</Serie>
<Nro>0006079</Nro>
<FchEmis>2015-08-21</FchEmis>
<MntBruto>1</MntBruto>
<FmaPago>1</FmaPago>
</IdDoc>
<EnvioCFE_entreEmpresas version="1.0" titulo="2">
<Caratula version="1.0">
<RutReceptor>210078220017</RutReceptor>
De ahí, yo necesito una salida como la siguiente

CFE version:1.0
CFE optativa:no
TmstFirma:2015-08-21T14:45:25.191-03:00
TipoCFE:111
Serie:A
Nro:0006079
FchEmis:2015-08-21
MntBruto:1
FmaPago:1
EnvioCFE_entreEmpresas version:1
EnvioCFE_entreEmpresas titulo:2
Caratula version:1.0
RutReceptor:210078220017

Osea, nombre nodo, valor que tiene.
En el caso que el nodo tenga atributo, seria, nombre nodo, nombre atributo y valor.

No engancho la vuelta...


El parseo para la lectura lo hago de la siguiente manera

File xmlFile = new File(ruta del xml);
DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder();
static Document doc = documentBuilder.parse(xmlFile);

Gracias!