Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo XPathNavigator.Select (String)

 

Data di pubblicazione: ottobre 2016

Seleziona un insieme di nodi usando l'espressione XPath specificata.

Spazio dei nomi:   System.Xml.XPath
Assembly:  System.Xml (in System.Xml.dll)

public virtual XPathNodeIterator Select(
	string xpath
)

Parametri

xpath
Type: System.String

Oggetto String che rappresenta un'espressione XPath.

Valore restituito

Type: System.Xml.XPath.XPathNodeIterator

Oggetto XPathNodeIterator che punta al set di nodi selezionato.

Exception Condition
ArgumentException

L'espressione XPath contiene un errore o il relativo tipo restituito non è un set di nodi.

XPathException

L’espressione XPath non è valida.

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
Disponibile da 1.1
Silverlight
Disponibile da 4.0
Torna all'inizio
Mostra: