XmlNode
XmlNode
defines
two methods, with two overloads each, to allow navigation via XPath.
SelectSingleNode( ) returns a single
XmlNode that matches the given XPath, and
SelectNodes( ) returns an
XmlNodeList.
Selecting a single node
SelectSingleNode( ) returns a single
XmlNode that matches the given XPath expression.
If more than one node matches the expression, the first one is
returned; the definition of “first”
depends on the order of the axis used. The context node of the XPath
query is set to the XmlNode instance on which the
method is invoked.
One overload of
SelectSingleNode( ) takes just the XPath
expression. The other one takes the XPath expression and an
XmlNamespaceManager. The
XmlNamespaceManager is used to resolve any
prefixes in the XPath expression.
Example 6-2 shows a simple program that selects a single node from an XML document and writes it to the console, with human-readable formatting.
using System;
using System.Xml;
using System.Xml.XPath;
public class XPathQuery {
public static void Main(string [ ] args) {
string filename = args[0];
string xpathExpression = args[1];
XmlDocument document = new XmlDocument( );
document.Load(filename);
XmlTextWriter writer = new XmlTextWriter(Console.Out);
writer.Formatting = Formatting.Indented;
XmlNode node = document.SelectSingleNode(xpathExpression);
node.WriteTo(writer);
writer.Close( );
}
}Because SelectSingleNode( ) is called on the
XmlNode instance that represents ...