XML DOM NodeList
- Página anterior Información del nodo DOM
- Página siguiente Navegación de nodos DOM
La lista de nodos se devuelve por métodos como getElementsByTagName() y propiedades como childNodes.
Ejemplo
El siguiente ejemplo utiliza un archivo XML books.xml.
Función loadXMLDoc()ubicado en JavaScript externo, utilizado para cargar archivos XML.
- Obtener texto del primer elemento <title>
- Este ejemplo utiliza el método getElementsByTagName() para obtener texto del primer elemento <title> en "books.xml".
- Recorriendo nodos utilizando la propiedad length
- Este ejemplo utiliza una lista de nodos y la propiedad length para recorrer todos los elementos <title> en "books.xml".
- Obtener atributos del elemento
- Este ejemplo utiliza una lista de propiedades para obtener atributos del primer elemento <title> en "books.xml".
DOM NodeList
Al usar propiedades o métodos como childNodes o getElementsByTagName(), se devuelve un objeto NodeList.
El objeto NodeList representa una lista de nodos, en el mismo orden que en XML.
Se utiliza un índice que comienza en 0 para acceder a los nodos en la lista de nodos.
La siguiente imagen representa "books.xml"Una lista de nodos de elementos <title>:"

El siguiente fragmento de código utiliza loadXMLDoc() "Cargar "books.xml" en xmlDoc y devolver "books.xml"Una lista de nodos de un elemento title:"
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title");
Después de la ejecución de la declaración anterior, x se convierte en un objeto NodeList.
El siguiente fragmento de código devuelve el texto del primer elemento <title> de la lista de nodos x:
txt=x[0].childNodes[0].nodeValue;
Después de la ejecución de la declaración anterior, txt = "Everyday Italian".
Longitud de la Lista de Nodos
El objeto NodeList se mantendrá actualizado. Si se eliminan o agregan elementos, la lista se actualizará automáticamente.
La propiedad length de la lista de nodos es el número de nodos en la lista.
El siguiente fragmento de código utiliza loadXMLDoc() Asignar "books.xml"Cargar xmlDoc y devolver la cantidad de elementos <title> en "books.xml":
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('title').length;
Después de la ejecución de la declaración anterior, x = 4.
La longitud de la lista de nodos se puede usar para recorrer todos los elementos de la lista.
El siguiente fragmento de código utiliza la propiedad length para recorrer la lista de elementos <title>:
xmlDoc=loadXMLDoc("books.xml"); //la variable x almacenará una lista de nodos x=xmlDoc.getElementsByTagName('title'); for (i=0;i<x.length;i++) { document.write(x[i].childNodes[0].nodeValue); document.write("<br />"); }
Salida:
Harry Potter Everyday Italian XQuery Kick Start Learning XML
Ejemplo de explicación:
- Al usar loadXMLDoc() Asignar "books.xml"Cargar xmlDoc
- Establecer la variable x para la lista de nodos de todos los elementos title
- Salida de valores de nodos de texto de todos los elementos <title>
DOM Attribute List (Named Node Map)
El atributo attributes del nodo de elemento devuelve una lista de nodos de atributo.
Esto se llama Named Node Map, además de algunas diferencias en métodos y atributos, es similar a la lista de nodos.
La lista de atributos se mantendrá actualizada. Si se elimina o agrega un atributo, esta lista se actualizará automáticamente.
El siguiente fragmento de código utiliza loadXMLDoc() Cargar "books.xml" en xmlDoc y desde "books.xmlLa lista de nodos de atributo devuelta por el primer elemento <book> en "
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book')[0].attributes;
Después de ejecutar el código anterior, x.length es igual a la cantidad de atributos y se puede usar x.getNamedItem() para devolver el nodo de atributo.
El siguiente fragmento de código muestra el valor del atributo "category" de un libro y la cantidad de atributos:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].attributes; document.write(x.getNamedItem("category").nodeValue); document.write("<br />" + x.length);
Salida:
hijos 1
Ejemplo de explicación:
- Al usar loadXMLDoc() Asignar "books.xml"Cargar en xmlDoc"
- Asignar a la variable x una lista de todos los atributos del primer elemento <book>
- Salida del valor del atributo "category"
- Salida de la longitud de la lista de atributos
- Página anterior Información del nodo DOM
- Página siguiente Navegación de nodos DOM