Select con XPath e XPathNavigator

È possibile selezionare un gruppo di nodi da qualsiasi archivio che implementa la classe IXPathNavigable. La classe IXPathNavigable è già implementata in alcune classi, come XPathDocument, XmlDocument, XmlDataDocument e XmlNode.

Nell'esempio seguente vengono illustrati la creazione di un XPathNavigator in un XPathDocument, l'uso del metodo Select per la selezione di nodi e l'uso di XPathNodeIterator per lo spostamento tra i nodi.

Dim Doc As XPathDocument = New XPathDocument(FileName)
Dim Nav As XPathNavigator = Doc.CreateNavigator()
Dim Iterator as XPathNodeIterator = Nav.Select("/bookstore/book")
While Iterator.MoveNext()
....Console.WriteLine(Iterator.Current.Name)
End While
[C#]
XPathDocument Doc = new XPathDocument(FileName);
XPathNavigator nav = Doc.CreateNavigator();
XPathNodeIterator Iterator = nav.Select("/bookstore/book");
while (Iterator.MoveNext())
{
    Console.WriteLine(Iterator.Current.Name);
}

Per eseguire un'iterazione sul gruppo di nodi selezionati, richiamare metodi che restituiscono un XPathNodeIterator. Di seguito sono riportati i vari metodi per la selezione di nodi che restituiscono un XPathNodeIterator.

  • Select
  • SelectChildren
  • SelectAncestors
  • SelectDescendents
  • Evaluate

Quando sono richiamati, questi metodi restituiscono un gruppo di nodi che è possibile esplorare liberamente utilizzando un XPathNodeIterator. L'esplorazione con XPathNodeIterator non influisce sulla posizione dell'XPathNavigator utilizzato per creare l'XPathNodeIterator. Il gruppo di nodi restituito dai metodi Select e Evaluate sopra descritti possiede le seguenti caratteristiche:

  • Il gruppo di nodi è una struttura virtuale di nodi, in ordine di documento.
  • I nodi di attributo non sono inclusi come parte dei metodi di esplorazione della struttura.
  • I nodi dello spazio dei nomi non sono inclusi come parte dei metodi di esplorazione della struttura.

Vedere anche

XPathNavigator in .NET Framework | Evaluate con XPath e XPathNavigator | Matches con XPath e XPathNavigator