XML DOM Node Information

From http://www.w3schools.com (Copyright Refsnes Data)

# XML DOM Node Information

The node properties: nodeName, nodeValue, and nodeType.

## Examples

The examples below use the XML file books.xml.
A function, loadXMLDoc(), in an external JavaScript is used to load the XML file.

Get the node name of an element node
This example uses the nodeName property to get the node name of the root element in "books.xml".

Get the text from a text node
This example uses the nodeValue property to get the text of the first <title> element in "books.xml".

Change the text in a text node
This example uses the nodeValue property to change the text of the first <title> element in "books.xml".

Get the node name and type of an element node
This example uses the nodeName and nodeType property to get node name and type of the root element in "books.xml".

## Node Properties

In the XML Document Object Model (DOM), each node is an object.

Objects have methods (functions) and properties (information about the object), that can be accessed and manipulated by JavaScript.

Three important XML DOM node properties are:

- nodeName
- nodeValue
- nodeType

## 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

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

## Example1: Get the Value of an Element

The following code retrieves the text node value of the first <title> element:

    xmlDoc=loadXMLDoc("books.xml");

    x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
    txt=x.nodeValue;

Result: txt = "Everyday Italian"

Example explained:

1. Load "books.xml" into xmlDoc using loadXMLDoc()
2. Get text node of the first <title> element node
3. Set the txt variable to be the value of the text node

Try it yourself

## Example 2: Change the Value of an Element

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:

1. Load "books.xml" into xmlDoc using loadXMLDoc()
2. Get text node of the first <title> element node
3. Change the value of the text node to "Easy Cooking"

Try it yourself

## The nodeType Property

The nodeType property specifies the type of node.

nodeType is read only.

The most important node types are:

Node type | NodeType
--- | ---
Element | 1
Attribute | 2
Text | 3
Comment | 8
Document | 9

Try it yourself.

From http://www.w3schools.com (Copyright Refsnes Data)