Propiedad childNodes del XML DOM

Definición y uso

childNodes La propiedad devuelve la NodeList de los nodos hijos del nodo especificado.

Consejo:Puede usar la propiedad length para determinar la cantidad de nodos hijos, luego recorrer todos los nodos hijos y extraer la información que desea.

Sintaxis

nodeObject.childNodes

Detalles técnicos

Valor devuelto: Objeto NodeList que representa una colección de nodos.
Versión DOM: Nivel de Core 1

Ejemplo

Ejemplo 1

El siguiente código carga "books.xml" en xmlDoc y muestra los nodos hijos del documento 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 x, i, xmlDoc, txt;
    xmlDoc = xml.responseXML;
    txt = "";
    x = xmlDoc.childNodes;
    for (i = 0; i < x.length; i++) {
        txt += "Nodename: " + x[i].nodeName +
        "(nodetype: " + x[i].nodeType + ")";
    }
    document.getElementById("demo").innerHTML = txt;
}

Prueba personalmente

Ejemplo 2

Mostrar todos los nodos hijos de todos los elementos del documento 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 x, y, i, xmlDoc, txt;
    xmlDoc = xml.responseXML;
    txt = "";
    x = xmlDoc.documentElement;
    y = x.childNodes;
    for(i = 0; i < y.length; i++) {
        txt += "Nodename: " + y[i].nodeName +
        "(nodetype: " + y[i].nodeType + ")<br>";
        for(z = 0; z < y[i].childNodes.length; z++) {
            txt += "Nodename: " + y[i].childNodes[z].nodeName +
            "(nodetype: " + y[i].childNodes[z].nodeType + ")<br>";
        }
    }
    document.getElementById("demo").innerHTML = 
    "Nodename: " + xmlDoc.nodeName +
    "(nodetype: " + xmlDoc.nodeType + ")<br>"
    "Nodename: " + x.nodeName +"}} 
    " (nodetype: " + x.nodeType + ")<br>" +
    txt;
}

Prueba personalmente

Compatibilidad del navegador

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
Soporte Soporte Soporte Soporte Soporte

Todos los navegadores principales lo soportan childNodes Atributos.