Latest web development tutorials

XML-DOM-Knoten Zugriff

Durch DOM können Sie jeden Knoten im XML-Dokument zugreifen.


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.

Verwenden Sie die Knotenliste Indexnummer Knoten zugreifen
In diesem Beispiel wird getElementsByTagName () -Methode "books.xml" das dritte Element <title> zu erhalten.

Verwenden Sie die Eigenschaft length eine Schleife durch einen Knoten
In diesem Beispiel wird die Länge Eigenschaft eine Schleife durch "books.xml" die ganze <title> Element.

Ansicht Knotentyp Element
Dieses Beispiel verwendet die Eigenschaft nodeType "books.xml" Knotentyp des Stammelements zu erhalten.

Verfahrgeschwindigkeit Elementknoten
Dieses Beispiel verwendet die Eigenschaft nodeType mit "books.xml" Elementknoten zu beschäftigen.

Beziehung mit dem Knoten des Elements Knoten zu durchqueren
Dieses Beispiel verwendet die Eigenschaft nodeType und nextSibling Eigenschaft "books.xml" Elementknoten zu behandeln.


Access Node

Sie können Knoten auf drei Arten zugreifen:

1. Die Methode getElementsByTagName () Durch die Verwendung.

2. Zyklus (Verfahrweg) Knotenbaum.

3. Nehmen Sie die Knotenbeziehungen in der Knotennavigationsstruktur Durch die Verwendung.


getElementsByTagName () -Methode

getElementsByTagName () liefert alle Elemente des angegebenen Tag-Namen haben.

Grammatik

node.getElementsByTagName("tagname");

Beispiele

Das folgende Beispiel gibt alle <title> Element unter dem Element x:

x.getElementsByTagName("title");

Bitte beachten Sie, dass das obige Beispiel gibt nur die <title> Element x Knoten. Um wieder das XML-Dokument alle <title> Elemente verwenden:

xmlDoc.getElementsByTagName("title");

Hier xmlDoc ist das Dokument selbst (Dokument-Knoten).


DOM-Knotenliste (Knotenliste)

getElementsByTagName () Methode liefert eine Liste von Knoten. Knotenliste ist ein Array von Knoten.

Der folgende Code verwendet loadXMLDoc () , um " die Books.xml " in xmlDoc, dann eine Liste der gespeicherten <title> Knoten in der Variablen x:

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title");

Anfahrt mit dem Indexzahl x in der <title> Element. Für den Zugriff auf den dritten <title>, können Sie schreiben:

y=x[2];

HINWEIS: Der Index beginnt bei 0.

In einem späteren Kapitel dieses Tutorial werden Sie mehr über die Liste der Knoten (Node List) Wissen lernen.


DOM-Knoten Listenlänge (Node List Length)

Länge length-Eigenschaft definiert die Knotenliste (dh die Anzahl der Knoten).

Sie können die Länge Eigenschaft in einer Schleife durch eine Liste von Knoten verwenden:

Beispiele

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title");

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

Versuchen »

Beispiele erläutern:

  1. Verwenden Sie loadXMLDoc () , um " die Books.XML " in xmlDoc
  2. Holen Sie sich alle <title> Element Knoten
  3. Jeder Ausgangswert <title> Element des Textknotens

Knotentyp (Knotentypen)

Document Attribut eines XML - Dokument ist der Wurzelknoten.

NodeName Attributknoten ist der Name des Knotens.

NodeType Attributknoten ist der Typ des Knotens.

Sie werden mehr über die Eigenschaften der Knoten im nächsten Kapitel dieses Tutorials lernen.

versuchen


Durchlaufen der Knoten

Der folgende Code durch durch die Wurzel der Kindknoten, sondern auch das Element Knoten:

Beispiele

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.documentElement.childNodes;

for (i=0;i<x.length;i++)
{
if (x[i].nodeType==1)
{//Process only element nodes (type 1)
document.write(x[i].nodeName);
document.write("
");
}
}

Versuchen »

Beispiele erläutern:

  1. Verwenden Sie loadXMLDoc () , um " die Books.XML " in xmlDoc
  2. Erste Kindknoten des Wurzelelements
  3. Knotentyp überprüfen jedes Kind-Knoten. Wenn der Knoten "1" ist, ist der Knoten ein Element
  4. Wenn der Knoten ein Element ist, wird der Name des Ausgangsknotens

Relations Navigationsknoten

Der folgende Code verwendet die Navigationsknoten Baumknoten Beziehung:

Beispiele

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)
{//Process only element nodes (type 1)
document.write(y.nodeName + "
");
}
y=y.nextSibling;
}

Versuchen »
  1. Verwenden Sie loadXMLDoc () , um " die Books.XML " in xmlDoc
  2. Holen Sie sich das erste Kind Knoten eines Buches Element
  3. Die "y" Variable wird auf das erste Element eines Buches erstes Kind gesetzt
  4. Für jeden Kindknoten (aus dem ersten Kindknoten "y" beginnt), die Art des Prüfknoten, wenn der Knotentyp "1" ist, wird der Knoten ein Element ist,
  5. Wenn der Knoten ein Element ist, wird der Name des Ausgangsknotens
  6. Die "y" Variable wird auf den nächsten Geschwisterknoten gesetzt und den Zyklus wieder laufen