XML DOM - Traverse Node Tree

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

# XML DOM Traverse Node Tree

Traversing means looping through or traveling across the node tree.

## Examples

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

Traverse a node tree
Loop through all child nodes of the <book> element

## Traversing the Node Tree

Often you want to loop an XML document, for example: when you want to extract the value of each element.

This is called "Traversing the node tree"

The example below loops through all child nodes of <book>, and displays their names and values:

    <html>
    <head>
    <script type="text/javascript" src="loadxmlstring.js"></script>
    </head>
    <body>
    <script type="text/javascript">
    text="<book>";
    text=text+"<title>Everyday Italian</title>";
    text=text+"<author>Giada De Laurentiis</author>";
    text=text+"<year>2005</year>";
    text=text+"</book>";

    xmlDoc=loadXMLString(text);

    // documentElement always represents the root node
    x=xmlDoc.documentElement.childNodes;
    for (i=0;i<x.length;i++)
    {
    document.write(x[i].nodeName);
    document.write(": ");
    document.write(x[i].childNodes[0].nodeValue);
    document.write("<br />");
    }
    </script>
    </body>
    </html>

Output:

    title: Everyday Italian
    author: Giada De Laurentiis
    year: 2005

Example explained:

1. loadXMLString() loads the XML string into xmlDoc
2. Get the child nodes of the root element
3. For each child node, output the node name and the node value of the text node

Try it yourself

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