Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método XPathNavigator.Select (String)

 

Publicado: octubre de 2016

Selecciona un conjunto de nodos usando la expresión XPath especificada.

Espacio de nombres:   System.Xml.XPath
Ensamblado:  System.Xml (en System.Xml.dll)

public virtual XPathNodeIterator Select(
	string xpath
)

Parámetros

xpath
Type: System.String

String que representa una expresión XPath.

Valor devuelto

Type: System.Xml.XPath.XPathNodeIterator

XPathNodeIterator que señala el conjunto de nodos seleccionado.

Exception Condition
ArgumentException

La expresión XPath contiene un error o su tipo de valor devuelto no es un conjunto de nodos.

XPathException

La expresión XPath no es válida.

The context for the selection is the position of the T:System.Xml.XPath.XPathNavigator when this method is called. After calling this method, the T:System.Xml.XPath.XPathNodeIterator returned represents the set of selected nodes. Use M:System.Xml.XPath.XPathNodeIterator.MoveNext method of the T:System.Xml.XPath.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 M:System.Xml.XPath.XPathNavigator.Select(System.String) method.

  • You can still use any of the T:System.Xml.XPath.XPathNavigator object's navigation methods to move within the T:System.Xml.XPath.XPathNavigator. The T:System.Xml.XPath.XPathNavigator navigation methods are independent of the selected nodes in the T:System.Xml.XPath.XPathNodeIterator.

  • Future calls to the M:System.Xml.XPath.XPathNavigator.Select(System.String) method return a new T:System.Xml.XPath.XPathNodeIterator object that points to the selected set of nodes that matches the new M:System.Xml.XPath.XPathNavigator.Select(System.String) call. The two T:System.Xml.XPath.XPathNodeIterator objects are completely independent of each other.

  • If the XPath expression requires namespace resolution, use the M:System.Xml.XPath.XPathNavigator.Select(System.Xml.XPath.XPathExpression) overload, which takes an T:System.Xml.XPath.XPathExpression as its argument.

  • This method has no effect on the state of the T:System.Xml.XPath.XPathNavigator.

The following example uses the M:System.Xml.XPath.XPathNavigator.Select(System.String) 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
Disponible desde 1.1
Silverlight
Disponible desde 4.0
Volver al principio
Mostrar: