Propriedade childNodes do XML DOM

Definição e Uso

childNodes A propriedade retorna a NodeList dos nós filhos do nó especificado.

Dica:Você pode usar a propriedade length para determinar o número de nós filhos, e então percorrer todos os nós filhos e extrair a informação que você deseja.

Sintaxe

nodeObject.childNodes

Detalhes Técnicos

Retorno: Objeto NodeList que representa a coleção de nós.
Versão do DOM: Nível de Núcleo 1

Exemplo

Exemplo 1

O código a seguir carrega o arquivo "books.xml" para xmlDoc e exibe os nós filhos do 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;
}

Experimente pessoalmente

Exemplo 2

Exibir todos os elementos filhos de todos os elementos do 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;
}

Experimente pessoalmente

Suporte do navegador

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
Suporte Suporte Suporte Suporte Suporte

Todos os navegadores principais suportam childNodes Atributos.