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.
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.
| Exception | Condition |
|---|---|
| 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.
Note |
|---|
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 = gcnew XPathDocument("contosoBooks.xml"); XPathNavigator^ navigator = document->CreateNavigator(); XmlNamespaceManager^ manager = gcnew 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.
<?xml version="1.0" encoding="utf-8" ?> <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>
Available since 2.0
Silverlight
Available since 4.0
