XML DOM Node Information
Node Properties
In the XML DOM, each node is an object.
Objects have methods and properties, that can be accessed and manipulated by JavaScript.
Three important node properties are:
- nodeName - specifies the name of a node
- nodeValue - specifies the value of a node
- nodeType - specifies the node type
The nodeName Property
The nodeName property specifies the name of a node.
- nodeName is read-only
- nodeName of an element node is the same as the tag name
- nodeName of an attribute node is the attribute name
- nodeName of a text node is always #text
- nodeName of the document node is always #document
Example
function myFunction(xml) {
var xmlDoc = xml.responseXML;
document.getElementById("demo").innerHTML = xmlDoc.documentElement.nodeName;
}
Try it Yourself »
The nodeValue Property
The nodeValue property specifies the value of a node.
- nodeValue for element nodes is undefined
- nodeValue for text nodes is the text itself
- nodeValue for attribute nodes is the attribute value
Get the Value of a Node
The following code retrieves the text node value of the first <title> node:
Example
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName("title")[0].childNodes[0];
document.getElementById("demo").innerHTML = x.nodeValue;
}
Try it Yourself »
Example explained:
- Suppose you have loaded books.xml into xmlDoc
- Get text node value of the first <title> node
- Show the text node value in element with id="demo"
Change the Value of a Node
The following code changes the text node value of the first <title> node:
Example
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x;
x = xmlDoc.getElementsByTagName("title")[0].childNodes[0];
document.getElementById("demo1").innerHTML = x.nodeValue;
x.nodeValue = "Easy Cooking";
x =
xmlDoc.getElementsByTagName("title")[0].childNodes[0];
document.getElementById("demo2").innerHTML = x.nodeValue;
}
Try it Yourself »
Example explained:
- Suppose you have loaded books.xml into xmlDoc
- Get text node value of the first <title> node
- Change the value of the node to "Easy Cooking"
The nodeType Property
The nodeType property is read-only and it specifies the node type.
The most important node types are:
| Node type | NodeType |
|---|---|
| Element | 1 |
| Attribute | 2 |
| Text | 3 |
| Comment | 8 |
| Document | 9 |
Example
function myFunction(xml) {
var xmlDoc = xml.responseXML;
document.getElementById("demo").innerHTML = xmlDoc.documentElement.nodeName + "<br>" + xmlDoc.documentElement.nodeType;
}
Try it Yourself »