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.
Aktualisiert: November 2007
Die XPathNavigator-Klasse stellt die Evaluate-Methode bereit, mit der ein XPath-Ausdruck ausgewertet werden kann. Die Evaluate-Methode verwendet einen XPath-Ausdruck, wertet ihn aus und gibt je nach Ergebnis des XPath-Ausdrucks einen der W3C-XPath-Typen Boolean, Number, String oder Node Set zurück.
Die Evaluate-Methode
Die Evaluate-Methode akzeptiert einen XPath-Ausdruck, wertet ihn aus und gibt ein typisiertes Ergebnis vom Typ Boolean (Boolean), Number (Double), String (String) oder Node Set (XPathNodeIterator) zurück. Die Evaluate-Methode kann z. B. in einer mathematischen Methode verwendet werden. Im folgenden Beispielcode wird der Gesamtpreis aller Bücher in der Datei books.xml berechnet.
Dim document As XPathDocument = New XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
Dim query As XPathExpression = navigator.Compile("sum(//price/text())")
Dim total As Double = CType(navigator.Evaluate(query), Double)
Console.WriteLine(total)
XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();
XPathExpression query = navigator.Compile("sum(//price/text())");
Double total = (Double)navigator.Evaluate(query);
Console.WriteLine(total);
In diesem Beispiel wird die Datei books.xml als Eingabe verwendet.
<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>
position-Funktion und last-Funktion
Die Evaluate-Methode ist überladen. Eine der Evaluate-Methoden akzeptiert ein XPathNodeIterator-Objekt als Parameter. Diese bestimmte Evaluate-Methode ist identisch mit der Evaluate-Methode, die nur ein XPathExpression-Objekt als Parameter verwendet, außer dass sie ein node-set-Argument zulässt, um den aktuellen Kontext anzugeben, in dem die Auswertung ausgeführt werden soll. Dieser Kontext ist für die XPath-Funktionen position() und last() erforderlich, da diese relativ zum aktuellen Kontextknoten sind. Für die position()-Funktion und die last()-Funktion ist für die Auswertung ein Verweis auf eine Knotengruppe erforderlich, sofern sie nicht als Prädikat in einem Location-Step verwendet werden, da die position-Funktion und die last-Funktion andernfalls 0 zurückgeben.
Siehe auch
Konzepte
Verarbeiten von XML-Daten mithilfe des XPath-Datenmodells
Auswählen von XML-Daten mit 'XPathNavigator'
Vergleich von Knoten mit "XPathNavigator"
In XPath-Abfragen erkannte Knotentypen