Latest web development tutorials

XML DOM - Navigationsknoten

Knoten können durch Verwendung der Beziehung zwischen den Knoten navigieren.


Navigation DOM-Knoten

Die Beziehung zwischen dem Zugangsknoten von Knoten Knoten im Baum, gemeinhin als Navigationsknoten ( "Navigation Knoten").

In der XML DOM wird die Beziehung zwischen den Knoten als Eigenschaft des Knotens definiert:

  • parentNode
  • childnodes
  • first
  • lastchild
  • nextSibling
  • previousSibling

Die folgende Abbildung zeigt books.xml einem Teil der Knoten des Baums, und veranschaulicht die Beziehung zwischen den Knoten:

Knoten Baum


DOM - Eltern

Alle Knoten haben nur einen Elternteil. Der folgende Code zum <Buch> zu navigieren ist der übergeordnete Knoten:

Beispiele

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);

Versuchen »

Beispiele erläutern:

  1. Verwenden Sie loadXMLDoc () , um " die Books.XML " in xmlDoc
  2. Holen Sie sich das erste Element <book>
  3. Name des Ausgangsknotens "x" Elternknoten

Vermeiden Sie leere Textknoten

Firefox und andere Browser, leer, leer oder Newline als Textknoten, während der Internet Explorer nicht.

Es werden die folgenden Attribute verwenden: first, lastchild, nextSibling, previousSibling, wenn ein Problem auftritt.

Um zu vermeiden, zu einem leeren Textknoten (Elementknoten zwischen den Räumen und Zeilenumbrüche) navigieren, verwenden wir eine Funktion, die den Knotentyp überprüft:

function get_nextSibling(n)
{
y=n.nextSibling;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}

Die obige Funktion können Sieget_nextSibling(Knoten) anstelle desKnotens .nextSiblingEigenschaft zu verwenden.

Code Erläuterung:

Typ 1 ist ein Elementknoten. Wenn der Geschwisterknoten kein Elementknoten ist, bewegt er sich zu dem nächsten Knoten, bis die Elementknoten so weit finden. Auf diese Weise, im Internet Explorer und Firefox, können Sie die gleichen Ergebnisse erhalten.


Als das erste Kind

Der folgende Code zeigt die erste Seite <Buch> ist das erste Element:

Beispiele

<html>
<head>
<script src="loadxmldoc.js">
</script>
<script>
//check if the first node is an element node
function get_firstChild(n)
{
y=n.firstChild;
while (y.nodeType!=1)
{
y=y.nextSibling;
}
return y;
}
</script>
</head>

<body>
<script>
xmlDoc=loadXMLDoc("books.xml");

x=get_firstChild(xmlDoc.getElementsByTagName("book")[0]);
document.write(x.nodeName);
</script>
</body>
</html>

Ausgang:

title

Versuchen »

Beispiele erläutern:

  1. Verwenden Sie loadXMLDoc () , um " die Books.XML " in xmlDoc
  2. Verwenden Sie get_firstChild Funktion auf die Elemente in der ersten <Buch>, das erste Kind Knoten zu bekommen (ein Element zu dem Knoten gehören)
  3. Der Ausgang des ersten untergeordneten Knoten (Element gehörenden Knoten) Knotennamen

Beispiele s

Weitere Beispiele

lastchild ()
In diesem Beispiel wird lastchild () -Methode und eine benutzerdefinierte Funktion das letzte Kind-Knoten zu erhalten

nextSibling ()
In diesem Beispiel wird nextSibling () -Methode und den nächsten Geschwisterknoten einer benutzerdefinierten Funktion, um den Knoten zu erhalten

previousSibling ()
In diesem Beispiel wird previousSibling () -Methode und eine benutzerdefinierte Funktion einen Geschwisterknoten Knoten zu erhalten