Una lista de nodos es devuelto por el getElementsByTagName() método y la propiedad childNodes.
Inténtelo usted mismo - Ejemplos
Los ejemplos siguientes utilizan el archivo XML books.xml .
Obtener el texto de la primera <title> elemento
En este ejemplo se utiliza el getElementsByTagName() método para obtener el texto de la primera <title> elemento en "books.xml" .
Bucle a través de nodos utilizando la propiedad length
En este ejemplo se utiliza la lista de nodos y la propiedad de longitud para recorrer todos <title> elementos en "books.xml"
Consigue el atributo de un elemento
En este ejemplo se utiliza una lista de atributos para obtener atributo de la primera <book> elemento en "books.xml" .
Lista de nodos DOM
Al utilizar las propiedades o métodos como childNodes o getElementsByTagName() , se devuelve un objeto de lista de nodos.
Un objeto de la lista nodo representa una lista de nodos, en el mismo orden que en el XML.
Los nodos en la lista de nodos se tiene acceso con números de índice a partir de 0.
La siguiente imagen representa una lista de nodos de los <title> elementos en " books.xml ":
Supongamos "books.xml" se carga en el xmlDoc variable.
Este fragmento de código devuelve una lista de nodos de elementos del título en "books.xml" :
x = xmlDoc.getElementsByTagName("title");
Después de la ejecución de la declaración anterior, x es un objeto de la lista de nodos.
El siguiente fragmento de código devuelve el texto de la primera <title> elemento en la lista de nodos (x) :
Después de la ejecución de la declaración anterior, txt = "Everyday Italian" .
Lista de nodos de cuerpo entero
Un objeto de la lista de nodos en sí mantiene hasta a la fecha. Si se elimina o añade un elemento, la lista se actualiza automáticamente.
La propiedad longitud de una lista de nodos es el número de nodos de la lista.
Este fragmento de código devuelve el número de <title> elementos en "books.xml" :
x = xmlDoc.getElementsByTagName('title').length;
Después de la ejecución de la declaración anterior, el valor de x será 4.
La longitud de la lista de nodos puede ser utilizado para bucle a través de todos los elementos en la lista.
Este fragmento de código utiliza la propiedad de longitud para recorrer la lista de <title> elementos:
Ejemplo
x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i <xLen; i++) {
txt += x[i].childNodes[0].nodeValue) + " ";
}
Salida:
Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Inténtalo tú mismo " Ejemplo explicó:
- Supongamos " books.xml " se carga en xmlDoc
- Establecer la variable x para mantener una lista de nodos de todos los elementos del título
- Recoge los valores de los nodos de texto de <title> elementos
DOM Lista de atributos (Named Node Map)
La propiedad atributos de un nodo elemento devuelve una lista de nodos atributo.
Esto se llama un nodo denominado mapa, y es similar a una lista de nodos, a excepción de algunas diferencias en los métodos y propiedades.
Una lista de atributos mantiene a sí misma al día. Si se elimina o añade un atributo, la lista se actualiza automáticamente.
Este fragmento de código devuelve una lista de nodos atributo de la primera <book> elemento en "books.xml" :
x = xmlDoc.getElementsByTagName('book')[0].attributes;
Después de la ejecución del código anterior, x.length = es el número de atributos y x.getNamedItem() puede utilizarse para devolver un nodo de atributo.
Este fragmento de código obtiene el valor de la "category" atributo, y el número de atributos, de un libro:
Ejemplo
x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;
Salida:
cooking
1
Inténtalo tú mismo " Ejemplo explicó:
- Supongamos " books.xml " se carga en xmlDoc
- Establecer la variable x para mantener una lista de todos los atributos del primer <book> elemento
- Obtener el valor de la "category" de atributo y la longitud de la lista de atributos