XML DOM-Knoten ansprechen
- Previous Page DOM Node
- Next Page DOM Node Information
Durch DOM können Sie jeden Knoten im XML-Dokument erreichen.
Knotenansicht
Sie können Knoten auf drei Arten erreichen:
- Durch die Verwendung der Methode getElementsByTagName()
- Durch das Durchlaufen (Bereisen) des Knotenbaums
- Durch Navigation im Knotenbaum durch das Verwenden der Beziehung zwischen Knoten
getElementsByTagName() Methode
getElementsByTagName()
Gibt alle Elemente mit dem angegebenen Tagnamen zurück.
Syntax
node.getElementsByTagName("tagname");
Beispiel
Das folgende Beispiel gibt alle <title>-Elemente unter dem x-Element zurück:
x.getElementsByTagName("title");
Bitte beachten Sie, dass der obige Beispiel nur die <title>-Elemente unter den x-Knoten zurückgibt. Um alle <title>-Elemente im XML-Dokument zurückzugeben, verwenden Sie bitte:
xmlDoc.getElementsByTagName("title");
Hierbei,xmlDoc
ist das Dokument selbst (Dokumentknoten).
DOM Knotenliste
getElementsByTagName()
方法返回节点列表(node list)。节点列表是节点的数组。
Die Methode gibt eine Knotenliste (Node-Liste) zurück. Eine Knotenliste ist ein Array von Knoten.
x = xmlDoc.getElementsByTagName("title");
Durch die Indexnummer kann auf das <title>-Element in x zugegriffen werden. Um das dritte <title> zu erreichen, schreiben Sie wie folgt:
y = x[2];Anmerkung:
Der Index beginnt bei 0.
Sie können das Attribut
Länge der DOM-Knotenliste
Attribute verwenden, um die Länge der Knotenliste (Anzahl der Knoten) zu definieren. Sie können das Attribut
length
Beispiel
Attribute, um die Knotenliste zu durchlaufen: for (i = 0; i < x.length; i++) { var x = xmlDoc.getElementsByTagName("title"); }
// Hier kann Code zum Verarbeiten jedes Knotens geschrieben werden
Knotentyp Knoten des XML-Dokuments
documentElement
Attribute sind der Name des Knotens. Attribute sind der Wurzelknoten.
nodeName
Attribute sind der Name des Knotens. nodeType
Attribute sind der Typ des Knotens.
Sie werden im nächsten Kapitel dieses Tutorials mehr über Knotenattribute lernen.
Knoten durchlaufen
Das folgende Codebeispiel durchläuft die Kindknoten des Wurzelknotens (ebenfalls Elementknoten):
Beispiel
txt = ""; x = xmlDoc.documentElement.childNodes; for (i = 0; i < x.length; i++) { // Nur Elementknoten (Typ 1) verarbeiten if (x[i].nodeType == 1) { txt += x[i].nodeName + "<br>"; } }
Beispiel erläutert:
- Voraussetzung: Sie haben "books.xml" laden in
xmlDoc
- Abfrage der Kindknoten des Wurzelelements (xmlDoc)
- Check the node type of each child node. If the node type is "
1
" ist ein Elementknoten - Wenn es sich um einen Elementknoten handelt, wird der Knotenname ausgegeben
Navigation der Knotenverhältnisse
Das folgende Codebeispiel navigiert durch das Knotenverhältnis im Knotenbaum:
Beispiel
x = xmlDoc.getElementsByTagName("book")[0]; xlen = x.childNodes.length; y = x.firstChild; txt = ""; for (i = 0; i < xlen; i++) { // Nur Elementknoten (Typ 1) verarbeiten if (y.nodeType == 1) { txt += y.nodeName + "<br>"; } y = y.nextSibling; }
Beispiel erläutert:
- Voraussetzung: Sie haben "books.xml" laden in
xmlDoc
- Abfrage der Kindknoten des ersten 'book'-Elements
- Set the variable "y" to the first child node of the first book element
- For each child node (from the first child node "
y
" (start): - Check the node type of each child node. If the node type is "
1
is an element node - If it is an element node, then output the name of the node
- to the next sibling node and run the loop again
y
Set the variable "
- Previous Page DOM Node
- Next Page DOM Node Information