To illustrate traversing an XmlDocument, we'll use the following XML file:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<customer id="123" status="archived">
<firstname>Jack</firstname>
<lastname>Smith</lastname>
</customer>
The ChildNodes
property (defined in XNode
) allows you to descend into the tree structure.
This returns an indexable collection:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Xml;
using System.Xml.Linq;
using System.Text;
using System.IO;
class Program
{
static void Main()
{
XmlDocument doc = new XmlDocument();
doc.Load("customer.xml");
Console.WriteLine(doc.DocumentElement.ChildNodes[0].InnerText);
Console.WriteLine(doc.DocumentElement.ChildNodes[1].InnerText);
}
}
The output:
Jack
Smith
With the ParentNode
property, you can ascend back up the tree:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Xml;
using System.Xml.Linq;
using System.Text;
using System.IO;
class Program
{
static void Main()
{
XmlDocument doc = new XmlDocument();
doc.Load("customer.xml");
Console.WriteLine(doc.DocumentElement.ChildNodes[1].ParentNode.Name);
}
}
The output:
customer
The following two statements both output firstname:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Xml;
using System.Xml.Linq;
using System.Text;
using System.IO;
class Program
{
static void Main()
{
XmlDocument doc = new XmlDocument();
doc.Load("customer.xml");
Console.WriteLine(doc.DocumentElement.FirstChild.Name);
Console.WriteLine(doc.DocumentElement.LastChild.PreviousSibling.Name);
}
}
The output:
firstname
firstname
java2s.com | Contact Us | Privacy Policy |
Copyright 2009 - 12 Demo Source and Support. All rights reserved. |
All other trademarks are property of their respective owners. |