XML DOM - Knotenwert ändern

Die Eigenschaft nodeValue wird verwendet, um den Wert eines Knotens zu ändern.

Die Methode setAttribute() wird verwendet, um den Wert der Eigenschaft zu ändern.

Beispiel

Der folgende Beispiel verwendet eine XML-Datei books.xml.

Funktion loadXMLDoc(), liegt im externen JavaScript und wird verwendet, um XML-Dateien zu laden.

Änderung des Textknotens eines Elements
In diesem Beispiel wird das Attribut nodeValue verwendet, um den Textknoten des ersten <title>-Elements in "books.xml" zu ändern.
Durch die Verwendung von setAttribute den Wert der Eigenschaft ändern
In diesem Beispiel wird die Methode setAttribute() verwendet, um den Wert des Attributes category des ersten <book> zu ändern.
Durch die Verwendung von nodeValue den Wert der Eigenschaft ändern
In diesem Beispiel wird das Attribut category des ersten <book> mit dem Attribut nodeValue geändert.

Änderung des Wertes eines Elements

In der DOM ist jeder Bestand ein Knoten. Elementknoten haben keine Textwerte.

Der Text eines Elementknotens wird in den Unter-knoten gespeichert. Dieser Knoten wird als Textknoten bezeichnet.

Die Methode zur Änderung des Textes eines Elements ist die Änderung des Wertes dieses Unter-knotens (Textknoten).

Änderung des Wertes eines Textknotens

Die nodeValue-Eigenschaft kann verwendet werden, um den Wert eines Textknotens zu ändern.

Der folgende Codeabschnitt ändert den Wert des Textknotens des ersten <title>-Elements:

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

Beispiel erklärt:

  • Durch die Verwendung loadXMLDoc() " wirdbooks.xml" wird in xmlDoc geladen
  • Den Textknoten des ersten <title>-Elements erhalten
  • Den Wert dieses Textknotens auf "Hello World" ändern

TIY

Durchsuchen und Ändern aller Textknoten der <title>-Elemente:TIY

Änderung des Wertes der Eigenschaft

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

Die Methode zur Änderung des Wertes einer Eigenschaft ist die Änderung des Textwerts.

Diese Aufgabe kann durch die Verwendung der Methode setAttribute() oder des Attributknotenattributs nodeValue erfüllt werden.

Durch die Verwendung von setAttribute() kann die Eigenschaft geändert werden

Die setAttribute() Methode setzt den Wert eines bestehenden Attributes fest oder erstellt ein neues Attribut.

Das folgende Code ändert die category-Eigenschaft des <book>-Elements:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","child");

Beispiel erklärt:

  • Durch die Verwendung loadXMLDoc() " wirdbooks.xml" wird in xmlDoc geladen
  • Den ersten <book>-Element abrufen
  • Den Wert des "category"-Attributs auf "child" ändern

TIY

Durchsuche alle <title> und füge eine neue Eigenschaft hinzu:TIY

Anmerkung:Falls der Attributknoten nicht existiert, wird ein neuer Attributknoten (mit dem angegebenen Namen und Wert) erstellt.

Durch die Verwendung von nodeValue wird das Attribut geändert

Die nodeValue-Eigenschaft kann verwendet werden, um den Wert eines Attributknotens zu ändern:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0];
y=x.getAttributeNode("category");
y.nodeValue="child";

Beispiel erklärt:

  • Durch die Verwendung loadXMLDoc() " wirdbooks.xml" wird in xmlDoc geladen
  • Den "category"-Attribut des ersten <book>-Elements abrufen
  • Den Wert des Attributknotens auf "child" ändern

TIY