Das folgende Bild veranschaulichen ein Teil des Nodebaums und das Verhältnis zwischen den Nodesn in der XML Akte oben:
Anmerkung: Internet Explorer überspringt Weißraum Text Node, die zwischen Nodesn (z.B. neue Zeilen- Buchstaben) erzeugt werden, während Mozilla nicht wird. So im Beispiel unten, haben wir eine Funktion, die die Nodeart eines Nodess überprüft, wenn es das firstChild, lastChild verwendet und Eigenschaften nextSibling und previousSibling.
Das erste Kind eines Nodess erhalten
Das folgende Codefragment erhalten den ersten Kind Node von <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
Die Funktion im Beispiel oben überprüfen die Nodeart des ersten Kind Nodess.
Element Nodes hat nodeType von 1, also, wenn der erste Kind Node nicht ein Element Node ist, bewegt er auf den folgenden Node und überprüft, ob dieser Node ein Element Node ist. Dieses fährt fort, bis der erste Kind Node gefunden ist. Auf diese Weise, das Resultat ist in Mozilla und im Internet Explorer korrekt.
Die vorhergehenden Geschwister eines Nodess erhalten
Das folgende Codefragment erhalten den vorhergehenden Geschwister Node des ersten <author> Elements:
//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
Die Funktion im Beispiel oben überprüfen die Nodeart des vorhergehenden Geschwister Nodess.
Wenn der vorhergehende Geschwister Node Inverter Node ist, bewegt er auf die „folgenden“ vorhergehenden Geschwister und überprüft, ob dieser Node ein Element Node ist. Dieses fährt fort, bis der vorhergehende Geschwister Node gefunden ist. Auf diese Weise, das Resultat ist in Mozilla und im Internet Explorer korrekt
Keywords:
xml document, xml file, xml parser, xmldom microsoft.xmldom, text node, xml dom attribute, document object model