Export (0) Print
Expand All

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
)

Parameters

xpath
Type: System.String

A String representing an XPath expression.

resolver
Type: System.Xml.IXmlNamespaceResolver

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

Return Value

Type: System.Xml.XPath.XPathNavigator
An XPathNavigator object that contains the first matching node for the XPath query specified; otherwise null if there are no query results.

ExceptionCondition
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 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0

Community Additions

ADD
Show:
© 2014 Microsoft