XML DOM - Knoten ersetzen
- Vorherige Seite DOM-Nodes löschen
- Nächste Seite DOM-Nodes erstellen
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.
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
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
Sie können Knoten ändern In diesem Abschnitt können Sie mehr über die Änderung von Knotenwerten lesen.
- Vorherige Seite DOM-Nodes löschen
- Nächste Seite DOM-Nodes erstellen