XML DOM-Knotenliste

getElementsByTagName() Methoden und childNodes Eigenschaft verwendet wird, wird eine Knotenliste zurückgegeben.

DOM Knotenliste

wenn childNodes oder getElementsByTagName() Beim Aufrufen von Eigenschaften oder Methoden wie

Das NodeList-Objekt stellt eine Liste von Knoten dar, deren Reihenfolge mit der in XML übereinstimmt.

Die Knoten in der Knotenliste können durch Indexnummern, beginnend mit 0, erreicht werden.

Das Diagramm zeigt books.xml Knotenliste des <title>-Elements:

DOM Knotenliste

Vorausgesetzt, "books.xml" wurde in die Variable xmlDoc geladen.

Dieser Codeabschnitt gibt die Knotenliste der "title"-Elemente in "books.xml" zurück:

x = xmlDoc.getElementsByTagName("title");

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

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

Beispiel

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

Try it yourself

Nach der Ausführung der obigen Anweisung wird txt = "雅舍谈吃".

Die Länge der Knotenliste

Das NodeList-Objekt wird sich selbst aktualisieren. Wenn Elemente hinzugefügt oder entfernt werden, wird die Liste automatisch aktualisiert.

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

Dieser Code gibt die Anzahl der <title>-Elemente in "books.xml" zurück:

x = xmlDoc.getElementsByTagName('title').length;

Nach der Ausführung des obigen Satzes:x hat einen Wert von 5.

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

Dieser Code verwendet length durch die Attributiteration, um die Liste der <title>-Elemente zu durchsuchen:

Beispiel

x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i < xLen; i++) {
    txt += (x[i].childNodes[0].nodeValue) + " ";
}

Try it yourself

Example Explanation:

  1. Assume books.xml wurde geladen xmlDoc Chinese
  2. Setzen Sie die Variable x, um alle Knotenlisten der title-Elemente zu speichern
  3. den Wert des Textknotens aus dem <title>-Element abrufen

DOM-Attributliste (Namensknotenmappe)

von Elementknoten attributes Eigenschaften geben eine Liste von Attributknoten zurück.

Dies wird als Namensknotenmappe (named node map) bezeichnet, die ähnlich wie eine Knotenliste ist, hat jedoch unterschiedliche Methoden und Eigenschaften.

Die Eigenschaftsliste wird ebenfalls immer auf dem neuesten Stand gehalten. Wenn Eigenschaften hinzugefügt oder entfernt werden, wird die Liste automatisch aktualisiert.

Dieser Code gibt eine Liste von Attributknoten zurück, die aus dem ersten <book>-Element von "books.xml" stammen:

x = xmlDoc.getElementsByTagName('book')[0].attributes;

Nach der Ausführung des obigen Codes:x.length entspricht der Anzahl der Eigenschaften und kann mit x.getNamedItem() Gibt einen Attributknoten zurück.

Dieser Code liest den Wert der "category"-Eigenschaft des ersten Buches sowie die Anzahl der Eigenschaften aus:

Beispiel

x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;

Try it yourself

Example Explanation:

  1. Assume books.xml loaded into xmlDoc Chinese
  2. Set the x variable to save the list of all attributes of the first <book> element
  3. Get the value of the "category" attribute and the length of the attribute list