XML DOM - Knoten aufrufen
- Vorherige Seite DOM-Attribute und Methoden
- Nächste Seite DOM-Knoteninformationen
Durch DOM können Sie jeden Knoten im XML-Dokument erreichen.
Beispiel
Im folgenden Beispiel wird eine XML-Datei verwendet books.xml.
Funktion loadXMLDoc(), located in external JavaScript, used to load XML files.
- Durch die Verwendung des Indexes in der Knotenliste, um Knoten zu erreichen
- In diesem Beispiel wird die Methode getElementsByTagname() verwendet, um das dritte <title>-Element in "books.xml" zu erhalten.
- Durch die length-Eigenschaft, um Knoten zu durchlaufen
- In diesem Beispiel wird die length-Eigenschaft verwendet, um alle <title>-Elemente in "books.xml" zu durchlaufen.
- Den Knotentyp des Elements anzeigen
- In diesem Beispiel wird die nodeType-Eigenschaft verwendet, um den Knotentyp des Wurzelelements in "books.xml" zu erhalten.
- Durchlaufen von Elementknoten
- In diesem Beispiel wird die nodeType-Eigenschaft verwendet, um Elementknoten in "books.xml" zu verarbeiten.
- Durch die Nutzung der Knotenbeziehungen, um Elementknoten zu durchlaufen
- In diesem Beispiel wird die nodeType-Eigenschaft und die nextSibling-Eigenschaft verwendet, um Elementknoten in "books.xml" zu verarbeiten.
Knoten erreichen
Sie können Knoten auf drei verschiedene Weisen erreichen:
- Durch die Verwendung der Methode getElementsByTagName()
- Durch das Durchlaufen (Bereisen) der Knotenstruktur
- Durch Nutzung der Beziehung zwischen Knoten in der Knotenstruktur navigieren
getElementsByTagName() Methode
getElementsByTagName() gibt alle Elemente mit dem angegebenen Tagnamen zurück.
Grammatik
node.getElementsByTagName("tagname");
Beispiel
Das folgende Beispiel gibt alle <title>-Elemente unter x zurück:
x.getElementsByTagName("title");
Bitte beachten Sie, dass das obige Beispiel nur die <title>-Elemente unter x zurückgibt. Um alle <title>-Elemente im XML-Dokument zurückzugeben, verwenden Sie:
xmlDoc.getElementsByTagName("title");
Hierbei ist xmlDoc das Dokument selbst (Dokument-Knoten).
DOM Node List
getElementsByTagName() Methode, um eine Knotenliste (Node List) zurückzugeben. Eine Knotenliste ist ein Array von Knoten.
Die folgenden Codezeilen verwenden loadXMLDoc() Setze "books.xml"Laden Sie xmlDoc" in einer Variable x speichern, die eine Liste von <title>-Knoten enthält:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title");
Durch Index kann auf das <title>-Element in x zugegriffen werden. Um auf das dritte <title> zuzugreifen, können Sie schreiben:
y=x[2];
Anmerkung:Die Indizes beginnen bei 0.
In einem späteren Kapitel dieses Tutorials werden Sie mehr über Node List lernen.
DOM Node List Length
Die length-Eigenschaft definiert die Länge der Knotenliste (d.h. die Anzahl der Knoten).
Sie können eine Knotenliste durch die Verwendung der length-Eigenschaft durchlaufen:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title"); for (i=0;i<x.length;i++) { document.write(x[i].childNodes[0].nodeValue); document.write("<br />"); }
Beispiel-Erklärung:
- Verwenden Sie loadXMLDoc() Setze "books.xml"Laden Sie xmlDoc"
- Erhalten Sie alle <title>-Element-Knoten
- Geben Sie den Wert des Textknotens jedes <title>-Elements aus
Node Type
XML-Dokument documentElement Attribute ist der Wurzel-Knoten.
Attribute des Knotens nodeName Attribute ist der Knoten-Name.
Attribute des Knotens nodeType Attribute sind der Knoten-Typ.
Sie werden im nächsten Abschnitt dieses Tutorials mehr über Knoten-Attribute lernen.
Durchlaufen Sie den Knoten
Die folgenden Codezeilen durchlaufen die Unter-Knoten des Wurzel-Knotens, die ebenfalls Element-Knoten sind:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; for (i=0;i<x.length;i++) { if (x[i].nodeType==1) {//Bearbeite nur Elementknoten (Typ 1) document.write(x[i].nodeName); document.write("<br />"); } }
Beispiel-Erklärung:
- Durch die Nutzung loadXMLDoc() Setze "books.xml"Lade xmlDoc"
- Erhalten Sie die Unter-Knoten des Wurzel-Elements
- Prüfen Sie den Knoten-Typ jedes Unter-Knotens. Wenn der Knoten-Typ "1" ist, dann ist es ein Element-Knoten
- Wenn es sich um einen Elementknoten handelt, gibt den Namen des Knotens aus
Navigieren durch das Knotenverhältnis
Das folgende Code navigiert durch das Knotenverhältnis im Knotenbaum:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].childNodes; y=xmlDoc.getElementsByTagName("book")[0].firstChild; for (i=0;i<x.length;i++) { if (y.nodeType==1) {//Bearbeite nur Elementknoten (Typ 1) document.write(y.nodeName + "<br />"); } y=y.nextSibling; }
- Durch die Nutzung loadXMLDoc() Setze "books.xml"Lade xmlDoc"
- Erhalte den ersten Kindknoten des ersten "book"-Elements
- Setze "y" auf den ersten Kindknoten des ersten "book"-Elements
- Überprüfe den Knotentyp jeder Unter节点, wenn der Knotentyp "1" ist, dann ist es ein Elementknoten
- Wenn es sich um einen Elementknoten handelt, gibt den Namen des Knotens aus
- Setze "y" auf den nächsten gleichartigen Knoten und führe den Zyklus erneut aus
- Vorherige Seite DOM-Attribute und Methoden
- Nächste Seite DOM-Knoteninformationen