Propriedade firstChild do XML DOM
Definição e Uso
firstChild
A propriedade retorna o primeiro filho do documento.
Sintaxe
documentObject.firstChildAtençã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, no exemplo a seguir, usamos uma função para verificar o tipo de nó do primeiro filho.
O nodeType dos nós de elemento é 1, portanto, se o primeiro filho não for um nó de elemento, ele será movido para o próximo nó e verificado se esse nó é um nó de elemento. Isso continuará até encontrar o primeiro filho (que deve ser um nó de elemento). Dessa forma, o resultado é correto em todos os navegadores.
Dica:Para obter mais informações sobre as diferenças entre navegadores, acesse a seção DOM Navegador do tutorial XML DOM.
Exemplo
Exemplo 1
Abaixo está o código que carrega "books.xml" para xmlDoc e exibe o nome e o tipo do primeiro filho do nó:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Verificar se o primeiro nó é um nó de elemento function get_firstchild(n) { var x = n.firstChild; while (x.nodeType != 1) { x = x.nextSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; var x = get_firstchild(xmlDoc); document.getElementById("demo").innerHTML = "Nodename: " + x.nodeName +"}} " (nodetype: " + x.nodeType + ")<br>"; }
Exemplo 2
Obter o último filho do documento:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Verificar se o último nó é um nó de elemento function get_lastchild(n) { var x = n.lastChild; while (x.nodeType != 1) { x = x.previousSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; // Obter o último filho do documento var x = get_lastchild(xmlDoc); // Obter o último filho do elemento raiz var y = get_lastchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Nodename: " + x.nodeName +"}} " (nodetype: " + x.nodeType + ")<br>" + "Nodename: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; }