Extraer información de un nodo
Publicado por Ale (2 intervenciones) el 04/04/2007 10:55:47
Tengo el siguiente xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<lista>
<elemento name="elem1">
<campo>Valor campo 1</campo>
</elemento>
<elemento name="elem2">
<campo>Valor campo 2</campo>
</elemento>
</lista>
del que quiero extraer el contenido de los nodos 'campo', es decir "Valor campo 1" y "Valor campo 2".
Tengo el siguiente código:
DOMParser p = new DOMParser();
try {
p.parse(pathOrigen);
} catch (SAXException e) {
System.out.println("Excepcion SAX");
} catch (IOException e) {
System.out.println("Excepcion IO");
}
Document docXML = p.getDocument();
NodeList nodosHijos = docXML.getElementsByTagName("campo");
int longitud = nodosHijos.getLength();
for (int i = 0; i < longitud; i++) {
Node aux = nodosHijos.item(i);
String valor = aux.getNodeValue(); //<------ linea donde no sé que poner
System.out.println(valor);
}
Pero obtengo siempre valor = null.
Los atributos (por ejemplo, 'name' en 'elemento') no tengo problemas en obtenerlos, pero de la otra forma no puedo.
Alguna idea?
Gracias y saludos.
<?xml version="1.0" encoding="ISO-8859-1"?>
<lista>
<elemento name="elem1">
<campo>Valor campo 1</campo>
</elemento>
<elemento name="elem2">
<campo>Valor campo 2</campo>
</elemento>
</lista>
del que quiero extraer el contenido de los nodos 'campo', es decir "Valor campo 1" y "Valor campo 2".
Tengo el siguiente código:
DOMParser p = new DOMParser();
try {
p.parse(pathOrigen);
} catch (SAXException e) {
System.out.println("Excepcion SAX");
} catch (IOException e) {
System.out.println("Excepcion IO");
}
Document docXML = p.getDocument();
NodeList nodosHijos = docXML.getElementsByTagName("campo");
int longitud = nodosHijos.getLength();
for (int i = 0; i < longitud; i++) {
Node aux = nodosHijos.item(i);
String valor = aux.getNodeValue(); //<------ linea donde no sé que poner
System.out.println(valor);
}
Pero obtengo siempre valor = null.
Los atributos (por ejemplo, 'name' en 'elemento') no tengo problemas en obtenerlos, pero de la otra forma no puedo.
Alguna idea?
Gracias y saludos.
Valora esta pregunta


0