Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die XPathNavigator-Klasse stellt eine Gruppe von Methoden bereit, mit denen eine Gruppe von Knoten in einem XPathDocument-Objekt oder einem XmlDocument-Objekt mithilfe eines XPath-Ausdrucks ausgewählt werden können. Sobald die Knoten ausgewählt sind, können die ausgewählten Knoten durchlaufen werden.
Auswahlmethoden von XPathNavigator
Die XPathNavigator-Klasse stellt eine Gruppe von Methoden bereit, mit denen eine Gruppe von Knoten in einem XPathDocument-Objekt oder einem XmlDocument-Objekt mithilfe eines XPath-Ausdrucks ausgewählt werden können. Die XPathNavigator-Klasse stellt außerdem eine Gruppe optimierter Methoden bereit, mit denen übergeordnete, direkt untergeordnete und indirekt untergeordnete Knoten schneller als bei Verwendung eines XPath-Ausdrucks ausgewählt werden können. Die ausgewählte Knotengruppe wird in einem XPathNodeIterator-Objekt oder (falls es sich um nur einen ausgewählten Knoten handelt) in einem XPathNavigator-Objekt zurückgegeben.
Auswählen von Knoten mithilfe von XPath-Ausdrücken
Verwenden Sie eine der folgenden Auswahlmethoden, um eine Gruppe von Knoten mithilfe eines XPath-Ausdrucks auszuwählen.
Bei einem Aufruf geben diese Methoden eine Knotengruppe zurück, die Sie mithilfe eines XPathNodeIterator-Objekts oder (falls es sich um nur einen ausgewählten Knoten handelt) eines XPathNavigator-Objekts frei durchsuchen können.
Das Navigieren mithilfe eines XPathNodeIterator-Objekts hat keine Auswirkungen auf die Position des XPathNavigator-Objekts, das zum Erstellen verwendet wurde. Das von der XPathNavigator-Methode zurückgegebene SelectSingleNode-Objekt wird auf dem einzelnen zurückgegebenen Knoten positioniert und hat keine Auswirkung auf die Position des XPathNavigator-Objekts, mit dem es erstellt wurde.
Im folgenden Beispiel wird das Erstellen eines XPathNavigator-Objekts aus einem XPathDocument-Objekts veranschaulicht. Außerdem werden die Verwendung der Select-Methode zum Auswählen der Knoten im XPathDocument-Objekt sowie die Verwendung des XPathNodeIterator-Objekts zum Durchlaufen der ausgewählten Knoten dargestellt.
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 diesem Beispiel wird die Datei books.xml
als Eingabe verwendet.
<?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>
Optimierte Auswahlmethoden
Die Methoden SelectChildren, SelectAncestors und SelectDescendants der XPathNavigator-Klasse stellen XPath-Ausdrücke dar, mit denen normalerweise direkt untergeordnete sowie indirekt untergeordnete und übergeordnete Knoten abgerufen werden. Diese Methoden tragen zur Leistungsoptimierung bei und sind schneller als die entsprechenden XPath-Ausdrücke. Die Methoden SelectChildren, SelectAncestors und SelectDescendants wählen übergeordnete, direkt untergeordnete und indirekt untergeordnete Knoten auf der Grundlage eines XPathNodeType-Werts oder des lokalen Namens und des Namespace-URIs der auszuwählenden Knoten aus. Die ausgewählten übergeordneten, direkt untergeordneten und indirekt untergeordneten Knoten werden in einem XPathNodeIterator-Objekt zurückgegeben.