Foros del Web » Programación para mayores de 30 ;) » Java »

leer nodo por nodo y atributos de xml

Estas en el tema de leer nodo por nodo y atributos de xml en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 25/09/2015, 12:47
 
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!
  #2 (permalink)  
Antiguo 25/09/2015, 13:21
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: leer nodo por nodo y atributos de xml

Buenas,

Te doy el comienzo. El resto es evidente y lo deberias sacar sin problemas a poco que te esfuerces:

Código Java:
Ver original
  1. NodeList nodeList = doc.getDocumentElement().getChildNodes();
  2. for (int i = 0; i < nodeList.getLength(); i++) {
  3.           Node node = nodeList.item(i);
  4. [...]

Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: atributos, nodo, valor, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:36.