The replaceChild() method replaces a specified node.
The nodeValue property replaces text in a text node.
Replace an Element Node
The replaceChild() method is used to replace a node.
The following code fragment replaces the first <book> element:
Example
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);
Example explained:
Replace Data In a Text Node
The replaceData() method is used to replace data in a text node.
The replaceData() method has three parameters:
- offset – Where to begin replacing characters. Offset value starts at zero
- length – How many characters to replace
- string – The string to insert
Example
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.replaceData(0,8,"Easy");
Use the nodeValue Property Instead
It is easier to replace the data in a text node using the nodeValue property.
The following code fragment will replace the text node value in the first <title> element with “Easy Italian”:
Example
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";