XML DOM Change Node Values
The nodeValue property is used to change a node value.
The setAttribute() method is used to change an attribute value.
Examples
The examples below use the XML file
books.xml.
A function, loadXMLDoc(), in an external JavaScript is used to load the XML file.
Change
an elements text node
This example uses the nodeValue property to change the text node of the first <title>
element in "books.xml".
Change an
attributes value using setAttribute
This example uses the setAttribute() method to change the value of the "category"
attribute of the first <book>.
Change an attributes value
using nodeValue
This example use the nodeValue property to change the value of the "category"
attribute of the first <book>.
Change the Value of an Element
In the DOM, everything is a node. Element nodes does not have a text value.
The text of an element node is stored in a child node. This node is called a
text node.
The way to change the text of an element, is to change the value of the child
node (text node).
Change the Value of a Text Node
The nodeValue property can be used to change the value of a text node.
The following code changes the text node value of the first <title> element:
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";
|
Example explained:
- Load "books.xml"
into xmlDoc using loadXMLDoc()
- Get the text node of the first <title> element
- Change the node value of the text node to "Easy Cooking"
Try
it yourself
Loop through and change the text node of all <title> elements:
Try
it yourself
Change the Value of an Attribute
In the DOM, attributes are nodes. Unlike element nodes, attribute nodes have
text values.
The way to change the value of an attribute, is to change its text value.
This can be done using the setAttribute() method or using the nodeValue
property of the attribute node.
Change an Attribute Using setAttribute()
The setAttribute() method changes the value of an existing
attribute, or creates a new attribute.
The following code changes the category attribute of the <book> element:
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","food");
|
Example explained:
- Load "books.xml"
into xmlDoc using loadXMLDoc()
- Get the first <book> element
- Change the "category" attribute value to "food"
Try
it yourself
Loop through all <title> elements and add a new attribute:
Try
it yourself
Note: If the attribute does not exist, a new attribute is created
(with the name and value specified).
Change an Attribute Using nodeValue
The nodeValue property can be used to change the value of a attribute node:
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="food";
|
Example explained:
- Load "books.xml"
into xmlDoc using loadXMLDoc()
- Get the "category" attribute of the first <book> element
- Change the attribute node value to "food"
Try it yourself
|
|
|
See why there are 20,000+ Ektron integrations worldwide.
Request an INSTANT DEMO or download a FREE TRIAL today. |
|
|
|