XML DOM Nodes Vervangen

De replaceChild() methode vervangt de opgegeven knooppunt.

De nodeValue-eigenschap vervangt de tekst in een tekstknooppunt.

Voorbeeld

De volgende voorbeeld gebruikt een XML-bestand books.xml.

Functie loadXMLDoc(),geplaatst in de externe JavaScript, wordt gebruikt om een XML-bestand te laden.

Vervanging van een elementknooppunt
In dit voorbeeld wordt replaceChild() gebruikt om het eerste <book> knooppunt te vervangen.
Vervanging van de gegevens van een tekstknooppunt
In dit voorbeeld wordt de nodeValue-eigenschap gebruikt om de gegevens van een tekstknooppunt te vervangen.

Vervanging van een elementknooppunt

De replaceChild() methode wordt gebruikt om knooppunten te vervangen.

De volgende codefragment vervangt het eerste <book> element:

xmlDoc=loadXMLDoc("books.xml");
x = xmlDoc.documentElement;
//Maak een book-element, een title-element en een tekstknooppunt
newNode = xmlDoc.createElement("book");
newTitle = xmlDoc.createElement("title");
newText = xmlDoc.createTextNode("Hello World");
//Voeg een tekstknooppunt toe aan het title-knooppunt
newTitle.appendChild(newText);
//Voeg een title-knooppunt toe aan het book-knooppunt
newNode.appendChild(newTitle);
y = xmlDoc.getElementsByTagName("book")[0];
//Vervanging van het eerste book-knooppunt met deze nieuwe knooppunt
x.replaceChild(newNode, y);

Example explanation:

  • By using loadXMLDoc() Put "books.xml" Load in xmlDoc
  • Maak een nieuw elementknooppunt <book>
  • Maak een nieuw elementknooppunt <title>
  • Maak een nieuwe tekstknooppunt, met de tekst "Hello World"
  • Voeg deze nieuwe tekstknooppunt toe aan het nieuwe elementknooppunt <title>
  • Voeg deze nieuwe elementknooppunt <title> toe aan het nieuwe elementknooppunt <book>
  • Vervanging van het eerste <book> elementknooppunt met een nieuw <book> elementknooppunt

TIY

Vervanging van de gegevens van een tekstknooppunt

De replaceData() methode wordt gebruikt om de gegevens van een tekstknooppunt te vervangen.

The replaceData() method has three parameters:

  • offset - Where to start replacing characters. The offset value starts at 0.
  • length - The number of characters to replace
  • string - The string to be inserted
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"hello");

Example explanation:

  • By using loadXMLDoc() Put "books.xml" Load in xmlDoc
  • Get the text node of the first <title> element
  • Use the replaceData method to replace the first 8 characters of the text node with "hello"

TIY

Use the nodeValue attribute

It is easier to replace the data in the text node using the nodeValue attribute.

The following code snippet will replace the text node value of the first <title> element with "Easy Italian":

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

Example explanation:

  • By using loadXMLDoc() Put "books.xml" Load in xmlDoc
  • Get the text node of the first <title> element
  • Use the nodeValue attribute to change the text of this text node

TIY

You can Change node Read more about changing node values in this section.