Latest web development tutorials

XML DOM - Liste der Knoten und Knoten mit dem Namen Abbildung

Knotenliste zurück von getElementsByTagName () -Methode und childnodes-Eigenschaft.


Beispiele

Versuchen Sie - Beispiel

Das folgende Beispiel verwendet XML - Dateien , die Books.XML .
Funktion loadXMLDoc () , in einer externen JavaScript verwendet , um die XML - Datei zu laden.

Holen Sie sich den Text aus dem ersten Element <title>
Dieses Beispiel verwendet die Methode getElementsByTagName () den Text von "books.xml" das erste Element <title> zu erhalten.

Mit Länge Attributknoten Traversal
In diesem Beispiel wird der Knotenliste und die Länge Eigenschaft Loop "books.xml" die ganze <title> Element.

Erhalten Sie Elementattribute
In diesem Beispiel der Eigenschaft der Verwendung eine Liste der Eigenschaft von "books.xml" das erste Element <book> zu bekommen.


DOM-Knotenliste (Knotenliste)

Bei der Verwendung solcher oder getElementsByTagName childnodes () Eigenschaft oder eine Methode, die eine Knotenliste Objekt zurückgibt.

Knoten Liste Objekt stellt eine Liste von Knoten und XML in der gleichen Reihenfolge.

Knoten Liste der Knoten von der Null-basierten Indexnummer für den Zugriff.

Das folgende Bild stellt " die Books.XML Liste der Knoten" in der <title> Element:

DOM-Knotenliste

Das folgende Codefragment mit loadXMLDoc () auf " die Books.xml " in xmlDoc und kehrt "books.xml" Knotenliste Titelelement:

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title");

Nachdem die obige Anweisung ausgeführt wird, x ist ein Knoten Objektliste.

Das folgende Codefragment gibt den Text aus der Liste der Knoten (x) in der ersten <title> Element:

Beispiele

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

Versuchen »

Nachdem die obige Anweisung ausgeführt wird, txt = "Everyday Italian".


Knoten Listenlänge (Knotenliste Länge)

Knoten Liste Objekt hält selbst aktualisiert. Wenn Sie Elemente löschen oder hinzufügen, wird die Liste automatisch aktualisiert.

Attributknoten Listenlänge ist die Anzahl der Knoten in der Liste.

Das folgende Codefragment mit loadXMLDoc () auf " die Books.xml " in xmlDoc, und gibt die Nummer in "books.xml" <title> Element:

xmlDoc=loadXMLDoc("books.xml");

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

Nachdem die obige Anweisung ausgeführt wird, x = 4 ist.

Die Länge der Knotenliste kann dazu verwendet werden, um die Liste aller Elemente zu durchqueren.

Das folgende Codefragment verwendet die Länge Eigenschaft in einer Schleife durch die Liste der <title> Element:

Beispiele

xmlDoc=loadXMLDoc("books.xml");

//the x variable will hold a node list
x=xmlDoc.getElementsByTagName('title');

for (i=0;i<x.length;i++)
{
document.write(x[i].childNodes[0].nodeValue);
document.write("
");
}

Ausgang:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML

Versuchen »

Beispiele erläutern:

  1. Verwenden Sie loadXMLDoc () , um " die Books.XML " in xmlDoc
  2. Setzen Sie die Variable x, alle Elemente einer Liste der Knoten Titel zu speichern
  3. Die Ausgabe von den Textknotenwerte aller Element <title>

DOM-Attribut-Liste (mit dem Namen Knoten Graph Named Knoten Map)

Attribute Attributelementknoten eine Liste von Attributknoten zurückgibt.

Dies wird ein Knoten genannt Abbildung (Named Node Map) genannt, mit Ausnahme einiger Unterschiede in den Methoden und Eigenschaften, die auf die Knotenliste ähnlich ist.

Eigenschaftenliste hält sich aktualisiert. Wenn Sie eine Eigenschaft löschen oder hinzufügen, wird diese Liste automatisch aktualisiert.

Das folgende Codefragment mit loadXMLDoc () auf " die Books.xml " in xmlDoc und gibt eine Liste von Attributknoten "books.xml" das erste Element <book>:

xmlDoc=loadXMLDoc("books.xml");

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

Nachdem der obige Code ausgeführt wird, x.length gleich der Anzahl von Attributen können Sie x.getNamedItem verwenden () gibt den Attributknoten.

Das folgende Codefragment zeigt die Anzahl der Werte "Kategorie" Attribut eines Buches, sowie seine Eigenschaften:

Beispiele

xmlDoc=loadXMLDoc("books.xml");

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

document.write(x.getNamedItem("category").nodeValue);
document.write("
" + x.length);

Ausgang:

cooking
1

Versuchen »

Beispiele erläutern:

  1. Verwenden Sie loadXMLDoc () , um " die Books.XML " in xmlDoc
  2. Eine Liste der Variablen x wird alle Eigenschaften des ersten <book> Element zu speichern
  3. Von der "Kategorie" Attributwert ausgegeben
  4. Länge der Ausgabeattributliste