XPathNavigator.Select Method (String)

 

Selects a node set, using the specified XPath expression.

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

public virtual XPathNodeIterator Select(
	string xpath
)

Parameters

xpath
Type: System.String

A String representing an XPath expression.

Return Value

Type: System.Xml.XPath.XPathNodeIterator

An XPathNodeIterator pointing to the selected node set.

Exception Condition
ArgumentException

The XPath expression contains an error or its return type is not a node set.

XPathException

The XPath expression is not valid.

The context for the selection is the position of the XPathNavigator when this method is called. After calling this method, the XPathNodeIterator returned represents the set of selected nodes. Use MoveNext method of the XPathNodeIterator to iterate over the selected node set.

The following C# code iterates over the selected set of nodes.

XPathNodeIterator iterator = nav.Select("/bookstore/book");
while (iterator.MoveNext())
{
    Console.WriteLine(Iterator.Current.Name);
}

The following are important notes to consider when using the Select method.

The following example uses the Select method to select a node set.

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

XPathNodeIterator nodes = navigator.Select("/bookstore/book");
nodes.MoveNext();
XPathNavigator nodesNavigator = nodes.Current;

XPathNodeIterator nodesText = nodesNavigator.SelectDescendants(XPathNodeType.Text, false);

while (nodesText.MoveNext())
    Console.WriteLine(nodesText.Current.Value);

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


<?xml version="1.0" encoding="utf-8" ?> 
<bookstore>
    <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>

.NET Framework
Available since 1.1
Silverlight
Available since 4.0
Return to top
Show: