Propriedade childNodes do XML DOM

Definição e uso

childNodes A propriedade retorna um NodeList contendo os nós filhos do nó selecionado.

Se o nó selecionado não tiver nós filhos, essa propriedade retorna um NodeList sem nós.

Dica:Para percorrer a lista de childNodes, usar o atributo nextSibling é mais eficiente do que usar explicitamente a lista childNodes do objeto pai.

Sintaxe

elementNode.childNodes

Exemplo

Exemplo 1

Abaixo está o código que carrega "books.xml" para xmlDoc e obtém o nó de texto do primeiro elemento <title> em "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;
}

Experimente você mesmo

Exemplo 2

Abaixo está o código que carrega "books.xml" para xmlDoc e obtém o número de nodos filhos do primeiro elemento <book> em "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;
}

Experimente você mesmo

O Firefox e a maioria dos outros navegadores consideram espaços em branco ou quebras de linha como nós de texto, enquanto o Internet Explorer não. Portanto, a saída acima será diferente.

Para obter mais informações sobre as diferenças entre navegadores, acesse o capítulo DOM navegador no tutorial XML DOM.