XML DOM Replacing Nodes

replaceChild() De methode vervangt de opgegeven node.

nodeValue Eigenschappen vervangen de tekst in een tekstnode.

Vervang elementnodes

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

Het volgende codefragment vervangt de eerste <book> element:

Voorbeeld

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
// Maak een book element, een title element en een tekstnode aan
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("Een nieuw boek");
// Voeg de tekstnode toe aan de title node
newTitle.appendChild(newText);
// Voeg deze title node toe aan de book node
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0];
// Vervang de eerste book node met de nieuwe node
x.replaceChild(newNode,y);

x.nodeValue="Een nieuw boek";

Probeer het zelf

  1. De voorbeelduitspraak: books.xml laden naar xmlDoc in
  2. Maak een nieuwe elementnode <book> aan
  3. Maak een nieuwe elementnode <title> aan
  4. Maak een nieuwe tekstnode aan, die de tekst "Een nieuw boek" bevat
  5. Voeg deze nieuwe tekstnode toe aan de nieuwe elementnode <title>
  6. Voeg deze nieuwe elementnode <title> toe aan de nieuwe elementnode <book>
  7. Vervang de eerste <book> elementnode met een nieuwe <book> elementnode

Vervang gegevens in een tekstnode

replaceData() De methode wordt gebruikt om gegevens in een tekstnode te vervangen.

replaceData() De methode heeft drie parameters:

  • offset - Van waar de vervanging begint. De offset begint bij nul
  • length - Het aantal tekens dat moet worden vervangen
  • string - De te inserteren string

Voorbeeld

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,4,"Een nieuw boek");

x.nodeValue="Een nieuw boek";

Probeer het zelf

  1. De voorbeelduitspraak: books.xml laden naar xmlDoc in
  2. Haal de tekst van de eerste <title> elementknooppunt op
  3. Gebruik replaceData() De methode vervangt de eerste acht tekens van de tekstnode met "Een nieuw boek"

Gebruik de nodeValue-eigenschap in plaats van

Gebruik nodeValue Eigenschappen zijn gemakkelijker om gegevens in een tekstnode te vervangen.

De volgende codefragment vervangt de tekstwaarde van de eerste <title> elementnode:

Voorbeeld

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="一本新书";

x.nodeValue="Een nieuw boek";

Probeer het zelf

  1. De voorbeelduitspraak: books.xml laden naar xmlDoc in
  2. Haal de tekst van de eerste <title> elementknooppunt op
  3. Gebruik nodeValue Gebruik eigenschappen om de tekst van een tekstknooppunt te wijzigen

U kunt meer lezen over het wijzigen van knooppunten in het hoofdstuk 'Wijzig knooppunten'.