XML DOM Node List

Die Knotenliste wird von der Methode getElementsByTagName() und der Eigenschaft childNodes zurückgegeben.

Beispiel

Im folgenden Beispiel wird eine XML-Datei verwendet books.xml.

Funktion loadXMLDoc()befindet sich im externen JavaScript und wird zur Laden von XML-Dateien verwendet.

Text aus dem ersten <title>-Element abrufen
In diesem Beispiel wird die Methode getElementsByTagName() verwendet, um den Text des ersten <title>-Elements aus "books.xml" abzurufen.
Durch Verwendung der length-Eigenschaft die Knoten durchlaufen
In diesem Beispiel wird eine Knotenliste und die length-Eigenschaft verwendet, um alle <title>-Elemente in "books.xml" zu durchlaufen.
Eigenschaften des Elements abrufen
In diesem Beispiel wird eine Eigenschaftsliste verwendet, um die Attribute des ersten <title>-Elements aus "books.xml" abzurufen.

DOM Node List

Beim Verwenden von Attributen oder Methoden wie childNodes oder getElementsByTagName() wird ein NodeList-Objekt zurückgegeben.

Das NodeList-Objekt stellt eine Liste von Knoten in der gleichen Reihenfolge wie in XML dar.

Verwenden Sie den von 0 beginnenden Index, um auf die Knoten in der Knotenliste zuzugreifen.

Das folgende Bild stellt "books.xml"Eine Knotenliste der <title>-Elemente in "

DOM节点列表

Der folgende Codeabschnitt zeigt, wie man dies durchführt loadXMLDoc() "Lade "books.xml" in xmlDoc und gib "books.xml"Eine Knotenliste eines title-Elements in "

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title");

Nach Ausführung der obigen Anweisung wird x zu einem NodeList-Objekt.

Der folgende Codeabschnitt gibt den Text des ersten <title>-Elements aus der Knotenliste x zurück:

txt=x[0].childNodes[0].nodeValue;

Nach Ausführung der obigen Anweisung ist txt = "Everyday Italian".

TIY

Node List Length

Das NodeList-Objekt wird seine eigenen Updates beibehalten. Wenn Elemente hinzugefügt oder entfernt werden, wird die Liste automatisch aktualisiert.

Die length-Eigenschaft der Knotenliste ist die Anzahl der Knoten in der Liste.

Der folgende Codeabschnitt zeigt, wie man dies durchführt loadXMLDoc() Die Zeichenkette "books.xml"Lade xmlDoc und gib die Anzahl der <title>-Elemente in "books.xml" zurück"

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('title').length;

Nach Ausführung der obigen Anweisung ist x = 4.

Die Länge der Knotenliste kann verwendet werden, um alle Elemente der Liste zu durchlaufen.

Der folgende Codeabschnitt verwendet die length-Eigenschaft, um die Liste der <title>-Elemente zu durchlaufen:

xmlDoc=loadXMLDoc("books.xml");
//Die Variable x wird eine Knotenliste speichern
x=xmlDoc.getElementsByTagName('title');
for (i=0;i<x.length;i++)
{
document.write(x[i].childNodes[0].nodeValue);
document.write("<br />");
}

Ausgabe:

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML

Beispiel:

  • Durch die Nutzung loadXMLDoc() Die Zeichenkette "books.xml"Lade xmlDoc"
  • Setzt die x-Variablen des Knotenlists der alle title-Elemente speichert
  • Gibt den Wert der Textknoten aller <title>-Elemente aus

TIY

DOM-Attributliste (Named Node Map)

Die attributes-Eigenschaft des Elementknotens gibt eine Liste der Attributknoten zurück.

Dies wird als Named Node Map bezeichnet und ähnelt der Knotenliste, mit Ausnahme einiger Unterschiede in Methoden und Eigenschaften.

Die Eigenschaftsliste wird ihre eigenen Updates beibehalten. Wenn Eigenschaften hinzugefügt oder entfernt werden, wird diese Liste automatisch aktualisiert.

Der folgende Codeabschnitt zeigt, wie man dies durchführt loadXMLDoc() Lade "books.xml" in xmlDoc und hole von "books.xmlDer erste <book>-Element in "" gibt eine Liste von Attributknoten zurück:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book')[0].attributes;

Nach Ausführung des obigen Codes ist x.length gleich der Anzahl der Attribute, und man kann die Attributknoten mit x.getNamedItem() abrufen.

Der folgende Codeabschnitt zeigt den Wert des "category"-Attributs eines Buches sowie die Anzahl der Attribute:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0].attributes;
document.write(x.getNamedItem("category").nodeValue);
document.write("<br />" + x.length);

Ausgabe:

Kinder
1

Beispiel:

  • Durch die Nutzung loadXMLDoc() Die Zeichenkette "books.xml" lädt xmlDoc
  • Die Variable x als Liste aller Attribute des ersten <book>-Elements setzen
  • Den Wert des "category"-Attributs ausgeben
  • Länge der Attributlisten ausgeben

TIY