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; }
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; }
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.