XML DOM Set Node Values
The nodeValue
property is used to change a node value and The setAttribute()
method is used to change an attribute value.
Consider node.nodeValue;
:
- If node is an Attribute then the value variable will be the value of the attribute.
- If node is a Text node it will be the text content.
- If node is an Element it will be null.
Change the Value of an Element
In the DOM, everything is a node. Element nodes do not have a text value.
Change the Value of a Text Node
The text value of an element node is stored in a child node. This node is called a text node.
The nodeValue
property can be used to change the value of a text node.
For example: change the text node value of the first <title>
element:
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "My New Title "
Change the Value of an Attribute Node
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 setting the nodeValue
property of the attribute node.
Change an Attribute Using setAttribute()
The setAttribute()
method changes the value of an attribute.
If the attribute does not exist, a new attribute is created.
For example: change publisher
attribute of the <book>
element:
xmlDoc.getElementsByTagName("book")[0].setAttribute("publisher","Tutorial Reference");
If the attribute does not exist, a new attribute is created using the specified name and value.
Change an Attribute Using nodeValue
The nodeValue
property is the value of an attribute node.
Changing the value property changes the value of the attribute.
For example: change publisher
attribute of the <book>
element:
xmlDoc.getElementsByTagName("book")[0].getAttributeNode("publisher").nodeValue = "Tutorial Reference";