Propiedad childNodes del DOM XML
Definición y uso
childNodes
Esta propiedad devuelve una NodeList que contiene los nodos hijos del nodo seleccionado.
Si el nodo seleccionado no tiene nodos hijos, esta propiedad devuelve una NodeList que no contiene nodos.
Consejo:Para recorrer la lista de childNodes, es más eficiente usar la propiedad nextSibling en lugar de usar explícitamente la lista childNodes del objeto padre.
Sintaxis
elementNode.childNodes
Ejemplo
Ejemplo 1
El siguiente código carga "books.xml" en xmlDoc y obtiene el nodo de texto del primer elemento <title> en "books.xml":
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("title")[0]; var y = x.childNodes[0]; document.getElementById("demo").innerHTML = y.nodeValue; }
Ejemplo 2
El siguiente código carga "books.xml" en xmlDoc y obtiene la cantidad de nodos hijos del primer elemento <book> en "books.xml":var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("book")[0].childNodes; document.getElementById("demo").innerHTML = x.length; }
Firefox y la mayoría de los otros navegadores considerarán los espacios en blanco o las salidas de línea como nodos de texto, mientras que Internet Explorer no lo hará. Por lo tanto, la salida en el ejemplo anterior será diferente.
Para obtener más información sobre las diferencias entre navegadores, visite la sección DOM del tutorial de XML DOM.