A seguinte imagem ilustra uma parte da árvore do nó e o relacionamento entre os nós na lima de XML acima:
Nota: O Internet Explorer saltará o nó do texto do branco-espaço que são gerados entre nós (por exemplo os caráteres new-line), quando Mozilla não. Assim, no exemplo abaixo, nós temos uma função que verifique o tipo do nó de um nó ao usar o firstChild, lastChild, nextSibling e previousSibling propriedades.
Começar a primeira criança de um nó
O seguinte fragmento do código começa o primeiro nó da criança do <bookstore>:
//check if the first node is an element node
function get_firstchild(n)
{
var x=n.firstChild;
while (x.nodeType!=1)
{
x=x.nextSibling;
}
return x;
}
xmlDoc=load("bookdetails.xml");
var y=get_firstchild(xmlDoc.documentElement);
document.write(y.nodeName);
O/P:
book
A função no exemplo acima verifica o tipo do nó do primeiro nó da criança.
Os nós do elemento têm um nodeType de 1, assim que se o primeiro nó da criança não for um nó do elemento, move-se para o nó seguinte, e verifica-se se este nó for um nó do elemento. Isto continua até que o primeiro nó da criança esteja encontrado. Esta maneira, o resultado estará correta em Mozilla e em Internet Explorer.
Começar o Sibling precedente de um nó
O seguinte fragmento do código começa o nó precedente do sibling do primeiro elemento do <author>:
//check if the previous sibling node is an element node
function get_previoussibling(n)
{
var x=n.previousSibling;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}xmlDoc=load("bookdetails.xml");
var x=xmlDoc.getElementsByTagName("author")[0];
var y=get_previoussibling(x);
document.write(y.nodeName);
O/P:
title
A função no exemplo acima verifica o tipo do nó do nó precedente do sibling.
Se o nó precedente do sibling não for nó do elemento, move-se para o sibling precedente “seguinte”, e verifica-se se esse nó for um nó do elemento. Isto continua até que o nó precedente do sibling esteja encontrado. Esta maneira, o resultado estará correta em Mozilla e em Internet Explorer
Keywords: original do xml, lima do xml, parser do xml, xmldom microsoft.xmldom, nó do texto, atributo do dom do xml, modelo do objeto do original