XML-DOM -Ersetzungsknoten
Die Methode replaceChild() ersetzt einen angegebenen Knoten.
Die Eigenschaft nodeValue ersetzt Text in einem Textknoten.
Probieren Sie es selbst aus - Beispiele
Die folgenden Beispiele verwenden die XML-Datei books.xml .
ersetzen In diesem Beispiel wird replaceChild() verwendet, um den ersten <book>-Knoten zu ersetzen.
Textknoten In diesem Beispiel wird die Eigenschaft nodeValue verwendet, um Daten in einem Textknoten zu ersetzen.
Ersetzen Sie einen Elementknoten
Die Methode replaceChild() wird verwendet, um einen Knoten zu ersetzen.
Das folgende Codefragment ersetzt das erste <book>-Element:
Beispiel
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//create a book element, title element and a text node
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
//add the text node to the title node,
newTitle.appendChild(newText);
//add the title node to the book node
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0]
//replace the first book node with the new node
x.replaceChild(newNode,y);
Beispiel erklärt:
- Laden Sie „ books.xml “ in xmlDoc
- Erstellen Sie einen neuen Elementknoten <Buch>
- Erstellen Sie einen neuen Elementknoten <title>
- Erstellen Sie einen neuen Textknoten mit dem Text „A Notebook“
- Hängen Sie den neuen Textknoten an den neuen Elementknoten <title> an
- Hängen Sie den neuen Elementknoten <title> an den neuen Elementknoten <book> an
- Ersetzen Sie den ersten <book>-Elementknoten durch den neuen <book>-Elementknoten
Daten in einem Textknoten ersetzen
Die Methode replaceData() wird verwendet, um Daten in einem Textknoten zu ersetzen.
Die Methode replaceData() hat drei Parameter:
- offset - Wo soll mit dem Ersetzen von Zeichen begonnen werden? Der Offset-Wert beginnt bei Null
- length - Wie viele Zeichen ersetzt werden sollen
- string - Die einzufügende Zeichenfolge
Beispiel
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
Beispiel erklärt:
- Laden Sie „ books.xml “ in xmlDoc
- Rufen Sie den Textknoten des ersten <title>-Elementknotens ab
- Verwenden Sie die Methode replaceData, um die ersten acht Zeichen des Textknotens durch „Easy“ zu ersetzen.
Verwenden Sie stattdessen die nodeValue-Eigenschaft
Es ist einfacher, die Daten in einem Textknoten mit der Eigenschaft nodeValue zu ersetzen.
Das folgende Codefragment ersetzt den Textknotenwert im ersten <title>-Element durch „Easy Italian“:
Beispiel
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
Beispiel erklärt:
- Laden Sie „ books.xml “ in xmlDoc
- Rufen Sie den Textknoten des ersten <title>-Elementknotens ab
- Verwenden Sie die Eigenschaft nodeValue, um den Text des Textknotens zu ändern
Weitere Informationen zum Ändern von Knotenwerten finden Sie im Kapitel Knoten ändern .