Export (0) Print
Expand All

XPathNavigator.SelectSingleNode Method (String, IXmlNamespaceResolver)

Note: This method is new in the .NET Framework version 2.0.

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

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 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 .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions

ADD
Show:
© 2014 Microsoft