XML DOM - Knoten ersetzen

Die Methode replaceChild() ersetzt den angegebenen Knoten.

Die nodeValue-Property ersetzt den Text in Textknoten.

Beispiel

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

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

Ersetzen Sie den Elementknoten.
In diesem Beispiel wird replaceChild() verwendet, um den ersten <book>-Knoten zu ersetzen.
Daten in Textknoten ersetzen
In diesem Beispiel wird die nodeValue-Property verwendet, um Daten in Textknoten zu ersetzen.

Ersetzen Sie den Elementknoten.

Die Methode replaceChild() wird verwendet, um Knoten zu ersetzen.

Der folgende Codeabschnitt ersetzt das erste <book>-Element:

xmlDoc=loadXMLDoc("books.xml");
x = xmlDoc.documentElement;
//Erstellen Sie ein book-Element, ein title-Element und einen Textknoten.
newNode = xmlDoc.createElement("book");
newTitle = xmlDoc.createElement("title");
newText = xmlDoc.createTextNode("Hello World");
//Fügen Sie dem title-Knoten einen Textknoten hinzu.
newTitle.appendChild(newText);
//Fügen Sie dem book-Knoten einen title-Knoten hinzu.
newNode.appendChild(newTitle);
y = xmlDoc.getElementsByTagName("book")[0];
//Ersetzen Sie diesen neuen Knoten durch den ersten book-Knoten.
x.replaceChild(newNode, y);

Beispiel erläutert:

  • Durch die Verwendung loadXMLDoc() "books.xmlin xmlDoc laden
  • Erstellen Sie einen neuen Elementknoten <book>.
  • Erstellen Sie einen neuen Elementknoten <title>.
  • Erstellen Sie einen neuen Textknoten mit dem Text "Hello World".
  • Fügen Sie diesem neuen Elementknoten <title> diesen neuen Textknoten hinzu.
  • Fügen Sie diesem neuen Elementknoten <book> diesen neuen Elementknoten <title> hinzu.
  • Ersetzen Sie den ersten <book>-Elementknoten durch einen neuen <book>-Elementknoten.

TIY

Daten in Textknoten ersetzen

Die Methode replaceData() wird verwendet, um Daten in Textknoten zu ersetzen.

Die Methode replaceData() hat drei Parameter:

  • offset - Der Startpunkt der Ersetzung von Zeichen. Der Offset-Wert beginnt bei 0.
  • length - Die Anzahl der zu ersetzenden Zeichen
  • string - Der einzufügende String
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"hello");

Beispiel erläutert:

  • Durch die Verwendung loadXMLDoc() "books.xmlin xmlDoc laden
  • den Text des ersten <title>-Elements als Textknoten erhalten
  • Verwenden Sie den Methoden replaceData, um die ersten 8 Zeichen des Textknotens durch "hello" zu ersetzen

TIY

Das Attribut nodeValue verwenden

Es ist einfacher, den Textknoten mit dem Attribut nodeValue zu ersetzen.

Der folgende Codeabschnitt wird den Textknotenwert des ersten <title>-Elements durch "Easy Italian" ersetzen:

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

Beispiel erläutert:

  • Durch die Verwendung loadXMLDoc() "books.xmlin xmlDoc laden
  • den Text des ersten <title>-Elements als Textknoten erhalten
  • den Text dieses Textknotens mit dem Attribut nodeValue ändern

TIY

Sie können Knoten ändern In diesem Abschnitt können Sie mehr über die Änderung von Knotenwerten lesen.