Recorrer el árbol de nodos XML DOM

Recorrer (Traverse) significa recorrer o moverse en el árbol de nodos.

Ejemplo

El siguiente ejemplo utiliza un archivo XML books.xml.

Función loadXMLString()ubicado en JavaScript externo, utilizado para cargar archivos XML.

Recorrer un árbol de nodos
Recorrer todos los nodos hijos del elemento <book>.

Recorrer el árbol de nodos

A menudo es necesario recorrer un documento XML, por ejemplo: cuando se necesita extraer el valor de cada elemento.

Este proceso se llama "recorrer el árbol de nodos".

El siguiente ejemplo recorre todos los nodos hijos de <book> y muestra sus nombres y valores:

<html>
<head>
<script type="text/javascript" src="loadxmlstring.js"></script>
</head>
<body>
<script type="text/javascript">
text="<book>";
text=text+"<title>Harry Potter</title>";
text=text+"<author>J K. Rowling</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
xmlDoc=loadXMLString(text);
// documentElement siempre representa el nodo raíz
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)
{
document.write(x[i].nodeName);
document.write(": ");
document.write(x[i].childNodes[0].nodeValue);
document.write("<br />");
}
</script>
</body>
</html>

Salida:

title: Harry Potter
author: J K. Rowling
year: 2005

Explicación del ejemplo:

  • loadXMLString() Cargar la cadena XML en xmlDoc
  • Obtener los nodos hijos del elemento raíz
  • Escribe el nombre de cada nodo hijo y el valor del nodo de texto

TIY