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 die Evaluate Methode zum Auswerten eines XPath-Ausdrucks bereit. Die Evaluate Methode verwendet einen XPath-Ausdruck, wertet ihn aus und gibt basierend auf dem Ergebnis des XPath-Ausdrucks einen W3C XPath-Typ vom Typ Boolean, Number, String oder Node Set zurück.
Die Bewertungsmethode
Die Evaluate Methode akzeptiert einen XPath-Ausdruck, wertet ihn aus und gibt ein typiertes Ergebnis von Boolean (Boolean), Number (), String (DoubleString) oder Node Set (XPathNodeIterator) zurück. Ein Beispiel dafür, wie die Evaluate-Methode in einem mathematischen Verfahren verwendet werden könnte. Im folgenden Beispielcode wird der Gesamtpreis aller Bücher in der books.xml Datei 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);
Im Beispiel wird die books.xml Datei 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>
Position und letzte Funktionen
Die Evaluate Methode wird überladen. Eine der Evaluate Methoden verwendet ein XPathNodeIterator Objekt als Parameter. Diese spezielle Evaluate Methode ist identisch mit der Evaluate Methode, die nur ein XPathExpression Objekt als Parameter verwendet, mit der Ausnahme, dass ein Knotensatzargument den aktuellen Kontext für die Auswertung angeben kann. Dieser Kontext ist für XPath position() und last() Funktionen erforderlich, da sie relativ zum aktuellen Kontextknoten sind. Sofern sie nicht als Prädikat in einem Positionsschritt verwendet werden, benötigen die position() und last() Funktionen einen Verweis auf einen Knotensatz, um ausgewertet zu werden. Andernfalls geben die position und last Funktionen 0 zurück.