This documentation is archived and is not being maintained.

XPathNavigator.SelectSingleNode Method (String, IXmlNamespaceResolver)

Selects a single node in the XPathNavigator object using the specified XPath query with the IXmlNamespaceResolver object specified to resolve namespace prefixes.

Namespace: System.Xml.XPath
Assembly: System.Xml (in system.xml.dll)

public virtual XPathNavigator SelectSingleNode (
	string xpath,
	IXmlNamespaceResolver resolver
)
public XPathNavigator SelectSingleNode (
	String xpath, 
	IXmlNamespaceResolver resolver
)
public function SelectSingleNode (
	xpath : String, 
	resolver : IXmlNamespaceResolver
) : XPathNavigator
Not applicable.

Parameters

xpath

A String representing an XPath expression.

resolver

The IXmlNamespaceResolver object used to resolve namespace prefixes in the XPath query.

Return Value

An XPathNavigator object that contains the first matching node for the XPath query specified; otherwise a null reference (Nothing in Visual Basic) if there are no query results.

Exception typeCondition

ArgumentException

An error was encountered in the XPath query or the return type of the XPath expression is not a node.

XPathException

The XPath query is not valid.

The SelectSingleNode method selects the first node that matches the XPath query specified. The SelectSingleNode method uses the IXmlNamespaceResolver object to resolve namespace prefixes.

NoteNote:

In XPath all namespaces must be prefixed in a query. If an XML document uses a default namespace, you must still add a namespace prefix to the IXmlNamespaceResolver object.

The following example selects a single node from the XPathNavigator object based on the XPath query specified and uses the XmlNamespaceManager object specified to resolve namespace prefixes in the XPath query.

XPathDocument document = new XPathDocument("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();

XmlNamespaceManager manager = new XmlNamespaceManager(navigator.NameTable);
manager.AddNamespace("bk", "http://www.contoso.com/books");

XPathNavigator node = navigator.SelectSingleNode("//bk:title", manager);
Console.WriteLine(node.InnerXml);

The example takes the contosoBooks.xml file as an input.

<bookstore xmlns="http://www.contoso.com/books">
    <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
        <title>The Autobiography of Benjamin Franklin</title>
        <author>
            <first-name>Benjamin</first-name>
            <last-name>Franklin</last-name>
        </author>
        <price>8.99</price>
    </book>
    <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
        <title>The Confidence Man</title>
        <author>
            <first-name>Herman</first-name>
            <last-name>Melville</last-name>
        </author>
        <price>11.99</price>
    </book>
    <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
        <title>The Gorgias</title>
        <author>
            <name>Plato</name>
        </author>
        <price>9.99</price>
    </book>
</bookstore>

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0
Show: