XML-gegevens selecteren met XPathNavigator
De XPathNavigator klasse biedt een set methoden die worden gebruikt om een set knooppunten in een XPathDocument of XmlDocument object te selecteren met behulp van een XPath-expressie. Zodra deze optie is geselecteerd, kunt u de geselecteerde set knooppunten herhalen.
XPathNavigator-selectiemethoden
De XPathNavigator klasse biedt een set methoden die worden gebruikt om een set knooppunten in een XPathDocument of XmlDocument object te selecteren met behulp van een XPath-expressie. De XPathNavigator klasse biedt ook een set geoptimaliseerde methoden voor het sneller selecteren van bovenliggende, onderliggende en onderliggende knooppunten dan het gebruik van een XPath-expressie. De geselecteerde set knooppunten wordt geretourneerd in een XPathNodeIterator object of een XPathNavigator object in het geval van één geselecteerd knooppunt.
Knooppunten selecteren met XPath-expressies
Als u een set knooppunten wilt selecteren met behulp van een XPath-expressie, gebruikt u een van de volgende selectiemethoden.
Wanneer deze methoden worden aangeroepen, retourneert u een set knooppunten die u vrij kunt navigeren met behulp van een XPathNodeIterator object of een XPathNavigator object in het geval van één geselecteerd knooppunt.
Navigeren met een XPathNodeIterator object heeft geen invloed op de positie van het XPathNavigator object dat wordt gebruikt om het te maken. Het XPathNavigator object dat door de SelectSingleNode methoden wordt geretourneerd, wordt op het enkele geretourneerde knooppunt geplaatst en heeft ook geen invloed op de positie van het XPathNavigator object dat wordt gebruikt om het te maken.
In het volgende voorbeeld ziet u het maken van een XPathNavigator object van een XPathDocument object, het gebruik van de Select methode om knooppunten in het XPathDocument object te selecteren en het gebruik van het XPathNodeIterator object om de geselecteerde knooppunten te herhalen.
Dim document As XPathDocument = New XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
Dim nodes As XPathNodeIterator = navigator.Select("/bookstore/book")
While nodes.MoveNext()
Console.WriteLine(nodes.Current.Name)
End While
XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();
XPathNodeIterator nodes = navigator.Select("/bookstore/book");
while(nodes.MoveNext())
{
Console.WriteLine(nodes.Current.Name);
}
In het voorbeeld wordt het books.xml
bestand als invoer gebruikt.
<?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>
Geoptimaliseerde selectiemethoden
De SelectChildrenmethoden , SelectAncestorsen SelectDescendants methoden van de XPathNavigator klasse vertegenwoordigen XPath-expressies die vaak worden gebruikt om onderliggende, onderliggende en bovenliggende knooppunten op te halen. Deze methoden zijn geoptimaliseerd voor prestaties en zijn sneller dan de bijbehorende XPath-expressies. De SelectChildren, SelectAncestorsen SelectDescendants methoden selecteren bovenliggende, onderliggende en onderliggende knooppunten op basis van een XPathNodeType waarde of de lokale naam- en naamruimte-URI van de knooppunten die u wilt selecteren. De geselecteerde bovenliggende, onderliggende en onderliggende knooppunten worden geretourneerd in een XPathNodeIterator object.