XML DOM - Knotenwert abrufen

Die Eigenschaft nodeValue wird verwendet, um den Textwert des Knotens zu erhalten.

Die Methode getAttribute() gibt den Wert des Attributs zurück.

Beispiel

Das folgende Beispiel verwendet XML-Datei books.xml.

Funktion loadXMLDoc()befindet sich im externen JavaScript, um XML-Dateien zu laden.

Elementwert erhalten
In diesem Beispiel wird getElementsByTagname() verwendet, um das erste <title>-Element in "books.xml" zu erhalten.
Eigenschaftswert erhalten
In diesem Beispiel wird die Methode getAttribute() verwendet, um den Wert des "lang"-Attributs des ersten <title>-Elements in "books.xml" zu erhalten.

Elementwert erhalten

In der DOM ist jede Komponente ein Knoten. Elementknoten haben keine Textwerte.

Der Text der Elementknoten wird in den Kindknoten gespeichert. Dieser Knoten wird als Textknoten bezeichnet.

Der Weg, den Textwert des Elements zu erhalten, ist, den Wert dieses Kindknotens (Textknoten) zu erhalten.

Elementwert erhalten

Die Methode getElementsByTagName() gibt eine Liste der Knoten zurück, die alle Elemente mit dem angegebenen Tagnamen enthalten, wobei die Reihenfolge der Elemente die Reihenfolge ihrer Erscheinung im Quelldokument ist.

Das folgende Code verwendet loadXMLDoc() Setze "books.xmlLaden Sie xmlDoc, und suchen Sie nach dem ersten <title>-Element:

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

Die Eigenschaft childNodes gibt eine Liste der Kindknoten zurück.<title>-Element hat nur einen Kindknoten, nämlich einen Textknoten.

Das folgende Code sucht nach dem Textknoten des <title>-Elements:

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];

Die Eigenschaft nodeValue gibt den Textwert des Textknotens zurück:

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
txt = y.nodeValue;

Ergebnis: txt = "Harry Potter"

TIY

Durchsuchen Sie alle <title>-Elemente:TIY

Eigenschaftswert erhalten

In der DOM sind Eigenschaften auch Knoten. Im Gegensatz zu Elementknoten haben Attributknoten Textwerte.

Der Weg, den Wert der Eigenschaft zu erhalten, ist, seinen Textwert zu erhalten.

Diese Aufgabe kann durch die Verwendung der Methode getAttribute() oder der Eigenschaft nodeValue des Attributknotens erfüllt werden.

Eigenschaftswert erhalten - getAttribute()

Die Methode getAttribute() gibt den Wert des Attributs zurück.

Das folgende Code sucht nach dem Textwert der "lang"-Attribut des ersten <title>-Elements:

xmlDoc=loadXMLDoc("books.xml");
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

Ergebnis: txt = "en"

Beispiel Erklärung:

  • Durch die Nutzung loadXMLDoc() Setze "books.xmlIn xmlDoc laden
  • Setze die txt-Variablen auf den Wert des "lang"-Attributes des ersten title-Elements

TIY

Durchlaufe alle <book>-Elemente und hole ihre "category"-Attribute:TIY

Attributwert abrufen - getAttributeNode()

Die Methode getAttributeNode() gibt den Attributknoten zurück.

Nachstehender Code检索第一个 <title>-Elements "lang"-Attributstextwert:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang");
txt=x.nodeValue;

Ergebnis: txt = "en"

Beispiel Erklärung:

  • Durch die Nutzung loadXMLDoc() Setze "books.xmlIn xmlDoc laden
  • Den "lang"-Attributeknoten des ersten <title>-Elementknotens abrufen
  • Setze die txt-Variablen auf den Wert des Attributes

TIY

Alle <book>-Elemente durchlaufen und ihre "category"-Attribute abrufen:TIY