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:
De ahí, yo necesito una salida como la siguiente<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>
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!