XML -Tutorial

XML-HOME XML-Einführung XML-Wie zu verwenden XML-Baum XML-Syntax XML-Elemente XML-Attribute XML-Namespaces XML-Anzeige XML-HttpRequest XML-Parser XML-DOM XML-XPath XML-XSLT XML-XQuery XML-XLink XML-Validator XML-DTD XML-Schema XML-Server XML-Beispiele XML-Quiz XML-Zertifikat

XML-AJAX

AJAX-Einführung AJAX-XMLHttp AJAX-Anfrage AJAX-Antwort AJAX-XML-Datei AJAX-PHP AJAX ASP AJAX-Datenbank AJAX-Anwendungen AJAX-Beispiele

XML-DOM

DOM-Einführung DOM-Knoten DOM-Zugriff DOM-Knoten-Info DOM-Knotenliste DOM-Traversierung DOM-Navigation DOM Get-Werte DOM-Änderungsknoten DOM-Knoten entfernen DOM-Ersetzungsknoten DOM-Knoten erstellen DOM-Knoten hinzufügen DOM-Klonknoten DOM-Beispiele

XPath -Tutorial

XPath-Einführung XPath-Knoten XPath-Syntax XPath-Achsen XPath-Operatoren XPath-Beispiele

XSLT -Tutorial

XSLT-Einführung XSL-Sprachen XSLT-Transformation XSLT <Vorlage> XSLT <Wert von> XSLT <für-jeden> XSLT <sortieren> XSLT <wenn> XSLT <auswählen> XSLT anwenden XSLT auf dem Client XSLT auf dem Server XSLT XML bearbeiten XSLT-Beispiele

XQuery- Tutorial

XQuery-Einführung XQuery-Beispiel XQuery FLWOR XQuery-HTML XQuery-Bedingungen XQuery-Syntax XQuery hinzufügen XQuery-Auswahl XQuery-Funktionen

XML -DTD

DTD-Einführung DTD-Bausteine DTD-Elemente DTD-Attribute DTD-Elemente vs. Attr DTD-Entitäten DTD-Beispiele

XSD- Schema

XSD-Einführung XSD-Anleitung XSD <Schema> XSD-Elemente XSD-Attribute XSD-Einschränkungen

XSD- Komplex

XSD-Elemente XSD leer Nur XSD-Elemente Nur XSD-Text XSD gemischt XSD-Indikatoren XSD <beliebig> XSD <beliebiges Attribut> XSD-Ersetzung XSD-Beispiel

XSD -Daten

XSD-String XSD-Datum XSD Numerisch XSD Sonstiges XSD-Referenz

Webdienste _

XML-Dienste XML-WSDL XML-SOAP XML-RDF XML-RSS

Verweise

DOM-Knotentypen DOM-Knoten DOM-Knotenliste DOM NamedNodeMap DOM-Dokument DOM-Element DOM-Attribut DOM-Text DOM-CDATA DOM-Kommentar DOM-XMLHttpRequest DOM-Parser XSLT-Elemente XSLT/XPath-Funktionen

XML DOM - Zugreifende Knoten


Mit dem DOM können Sie auf jeden Knoten in einem XML-Dokument zugreifen.


Probieren Sie es selbst aus - Beispiele

Die folgenden Beispiele verwenden die XML-Datei books.xml .


verwenden. Verwenden Sie die Methode getElementsByTagName(), um das dritte <title>-Element in "books.xml" zu erhalten.


Verwenden Sie die length-Eigenschaft, um alle <title>-Elemente in „books.xml“ zu durchlaufen.


Verwenden Sie die nodeType-Eigenschaft, um den Knotentyp des Stammelements in „books.xml“ abzurufen.


Verwenden Sie die nodeType-Eigenschaft, um nur Elementknoten in „books.xml“ zu verarbeiten.


durchlaufen Verwenden Sie die Eigenschaft nodeType und die Eigenschaft nextSibling, um Elementknoten in "books.xml" zu verarbeiten.

×

Header


Zugriff auf Knoten

Sie können auf drei Arten auf einen Knoten zugreifen:

1. Durch die Verwendung der Methode getElementsByTagName()

2. Durch Durchschleifen (Traversieren) des Knotenbaums.

3. Durch Navigieren im Knotenbaum unter Verwendung der Knotenbeziehungen.


Die Methode getElementsByTagName()

getElementsByTagName() gibt alle Elemente mit einem angegebenen Tag-Namen zurück.

Syntax

node.getElementsByTagName("tagname");

Beispiel

Das folgende Beispiel gibt alle <title>-Elemente unter dem x-Element zurück:

x.getElementsByTagName("title");

Beachten Sie, dass das obige Beispiel nur <title>-Elemente unter dem x-Knoten zurückgibt. Um alle <title>-Elemente im XML-Dokument zurückzugeben, verwenden Sie:

xmlDoc.getElementsByTagName("title");

wobei xmlDoc das Dokument selbst ist (Dokumentknoten).



DOM-Knotenliste

Die Methode getElementsByTagName() gibt eine Knotenliste zurück. Eine Knotenliste ist ein Array von Knoten.

x = xmlDoc.getElementsByTagName("title");

Auf die <title>-Elemente in x kann über die Indexnummer zugegriffen werden. Um auf den dritten <Titel> zuzugreifen, können Sie Folgendes schreiben:

y = x[2];

Hinweis: Der Index beginnt bei 0.

In einem späteren Kapitel dieses Tutorials erfahren Sie mehr über Knotenlisten.


Länge der DOM-Knotenliste

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

Sie können eine Knotenliste durchlaufen, indem Sie die Eigenschaft length verwenden:

Beispiel

var x = xmlDoc.getElementsByTagName("title");

for (i = 0; i <x.length; i++) {
  // do something for each node
  }

Knotentypen

Die Eigenschaft documentElement des XML-Dokuments ist der Stammknoten.

Die nodeName- Eigenschaft eines Knotens ist der Name des Knotens.

Die Eigenschaft nodeType eines Knotens ist der Typ des Knotens.

Im nächsten Kapitel dieses Tutorials erfahren Sie mehr über die Knoteneigenschaften.


Knoten durchlaufen

Der folgende Code durchläuft die untergeordneten Knoten, die auch Elementknoten sind, des Stammknotens:

Beispiel

txt = "";
x = xmlDoc.documentElement.childNodes;

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

Beispiel erklärt:

  1. Angenommen, Sie haben „ books.xml “ in xmlDoc geladen
  2. Abrufen der untergeordneten Knoten des Stammelements (xmlDoc)
  3. Überprüfen Sie für jeden untergeordneten Knoten den Knotentyp. Wenn der Knotentyp "1" ist, handelt es sich um einen Elementknoten
  4. Geben Sie den Namen des Knotens aus, wenn es sich um einen Elementknoten handelt

Navigieren in Knotenbeziehungen

Der folgende Code navigiert durch die Knotenstruktur mithilfe der Knotenbeziehungen:

Beispiel

x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;

txt = "";
for (i = 0; i <xlen; i++) {
  // Process only element nodes (type 1)
  if (y.nodeType == 1) {
    txt += y.nodeName + "<br>";
  }
  y = y.nextSibling;
}

Beispiel erklärt:

  1. Angenommen, Sie haben „ books.xml “ in xmlDoc geladen
  2. Rufen Sie die untergeordneten Knoten des ersten Buchelements ab
  3. Legen Sie die Variable "y" als ersten untergeordneten Knoten des ersten Buchelements fest
  4. Für jeden untergeordneten Knoten (beginnend mit dem ersten untergeordneten Knoten "y"):
  5. Überprüfen Sie den Knotentyp. Wenn der Knotentyp "1" ist, handelt es sich um einen Elementknoten
  6. Geben Sie den Namen des Knotens aus, wenn es sich um einen Elementknoten handelt
  7. Legen Sie die Variable "y" als nächsten Geschwisterknoten fest und durchlaufen Sie die Schleife erneut