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