XPathNavigator.Evaluate Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Evalueert de opgegeven XPath-expressie en retourneert het getypte resultaat.
Overloads
| Name | Description |
|---|---|
| Evaluate(String) |
Evalueert de opgegeven XPath-expressie en retourneert het getypte resultaat. |
| Evaluate(XPathExpression) |
Evalueert het XPathExpression en retourneert het getypte resultaat. |
| Evaluate(String, IXmlNamespaceResolver) |
Evalueert de opgegeven XPath-expressie en retourneert het getypte resultaat met behulp van het IXmlNamespaceResolver object dat is opgegeven om naamruimtevoorvoegsels in de XPath-expressie op te lossen. |
| Evaluate(XPathExpression, XPathNodeIterator) |
Gebruikt de opgegeven context om het XPathExpressionresultaat te evalueren en retourneert het getypte resultaat. |
Evaluate(String)
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
Evalueert de opgegeven XPath-expressie en retourneert het getypte resultaat.
public:
virtual System::Object ^ Evaluate(System::String ^ xpath);
public virtual object Evaluate(string xpath);
abstract member Evaluate : string -> obj
override this.Evaluate : string -> obj
Public Overridable Function Evaluate (xpath As String) As Object
Parameters
- xpath
- String
Een tekenreeks die een XPath-expressie vertegenwoordigt die kan worden geëvalueerd.
Retouren
Het resultaat van de expressie (Booleaanse waarde, getal, tekenreeks of knooppuntset). Hiermee worden respectievelijk objecten toegewezen aanBoolean, DoubleStringof XPathNodeIterator objecten.
Uitzonderingen
Het retourtype van de XPath-expressie is een knooppuntset.
De XPath-expressie is ongeldig.
Voorbeelden
In het volgende voorbeeld wordt een XPath-expressie geëvalueerd en wordt een Double.
XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();
Double total = (double)navigator.Evaluate("sum(descendant::book/price)");
Console.WriteLine("Total price for all books: {0}", total.ToString());
Dim document As XPathDocument = New XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
Dim total As Double = CType(navigator.Evaluate("sum(descendant::book/price)"), Double)
Console.WriteLine("Total price for all books: {0}", total.ToString())
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>
Opmerkingen
De volgende C#-code converteert het Price/text() knooppunt naar een getal, vermenigvuldigt het met 10 en retourneert de resulterende waarde.
nav.Evaluate("Price/text()*10");
Note
De functies XPath position() en last(), tenzij deze worden gebruikt als predicaat in een locatiestap, vereisen een verwijzing naar een knooppuntset om te worden geëvalueerd. In dit geval moet u de overbelasting gebruiken die een XPathNodeIterator argument gebruikt; anders retourneert position() en last() 0.
Deze methode heeft geen effect op de status van de XPathNavigator.
Zie ook
Van toepassing op
Evaluate(XPathExpression)
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
Evalueert het XPathExpression en retourneert het getypte resultaat.
public:
virtual System::Object ^ Evaluate(System::Xml::XPath::XPathExpression ^ expr);
public virtual object Evaluate(System.Xml.XPath.XPathExpression expr);
abstract member Evaluate : System.Xml.XPath.XPathExpression -> obj
override this.Evaluate : System.Xml.XPath.XPathExpression -> obj
Public Overridable Function Evaluate (expr As XPathExpression) As Object
Parameters
- expr
- XPathExpression
Een XPathExpression die kan worden geëvalueerd.
Retouren
Het resultaat van de expressie (Booleaanse waarde, getal, tekenreeks of knooppuntset). Hiermee worden respectievelijk objecten toegewezen aanBoolean, DoubleStringof XPathNodeIterator objecten.
Uitzonderingen
Het retourtype van de XPath-expressie is een knooppuntset.
De XPath-expressie is ongeldig.
Voorbeelden
Het volgende voorbeeld evalueert een XPathExpression en retourneert een Double.
XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();
XPathExpression query = navigator.Compile("sum(descendant::book/price)");
Double total = (double)navigator.Evaluate(query);
Console.WriteLine("Total price for all books: {0}", total.ToString());
Dim document As XPathDocument = New XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
Dim query As XPathExpression = navigator.Compile("sum(descendant::book/price)")
Dim total As Double = CType(navigator.Evaluate(query), Double)
Console.WriteLine("Total price for all books: {0}", total.ToString())
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>
Opmerkingen
De volgende C#-code retourneert een getal na het converteren van het Price/text() knooppunt naar een getal en het vermenigvuldigen van de waarde met 10.
XPathExpression expr = nav.Compile("Price/text()*10");
nav.Evaluate(expr);
Note
De functies XPath position() en last(), tenzij deze worden gebruikt als predicaat in een locatiestap, vereisen een verwijzing naar een knooppuntset om te worden geëvalueerd. In dit geval moet u de overbelasting gebruiken die een XPathNodeIterator argument gebruikt; anders retourneert position() en last() 0.
Deze methode heeft geen effect op de status van de XPathNavigator.
Zie ook
Van toepassing op
Evaluate(String, IXmlNamespaceResolver)
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
Evalueert de opgegeven XPath-expressie en retourneert het getypte resultaat met behulp van het IXmlNamespaceResolver object dat is opgegeven om naamruimtevoorvoegsels in de XPath-expressie op te lossen.
public:
virtual System::Object ^ Evaluate(System::String ^ xpath, System::Xml::IXmlNamespaceResolver ^ resolver);
public virtual object Evaluate(string xpath, System.Xml.IXmlNamespaceResolver? resolver);
public virtual object Evaluate(string xpath, System.Xml.IXmlNamespaceResolver resolver);
abstract member Evaluate : string * System.Xml.IXmlNamespaceResolver -> obj
override this.Evaluate : string * System.Xml.IXmlNamespaceResolver -> obj
Public Overridable Function Evaluate (xpath As String, resolver As IXmlNamespaceResolver) As Object
Parameters
- xpath
- String
Een tekenreeks die een XPath-expressie vertegenwoordigt die kan worden geëvalueerd.
- resolver
- IXmlNamespaceResolver
Het IXmlNamespaceResolver object dat wordt gebruikt om naamruimtevoorvoegsels in de XPath-expressie op te lossen.
Retouren
Het resultaat van de expressie (Booleaanse waarde, getal, tekenreeks of knooppuntset). Hiermee worden respectievelijk objecten toegewezen aanBoolean, DoubleStringof XPathNodeIterator objecten.
Uitzonderingen
Het retourtype van de XPath-expressie is een knooppuntset.
De XPath-expressie is ongeldig.
Voorbeelden
Het volgende voorbeeld evalueert een XPath-expressie en retourneert een Double met behulp van het XmlNamespaceManager object dat is opgegeven om naamruimtevoorvoegsels in de XPath-expressie op te lossen.
XPathDocument document = new XPathDocument("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();
XmlNamespaceManager manager = new XmlNamespaceManager(navigator.NameTable);
manager.AddNamespace("bk", "http://www.contoso.com/books");
Double total = (double)navigator.Evaluate("sum(descendant::bk:book/bk:price)", manager);
Console.WriteLine("Total price for all books: {0}", total.ToString());
Dim document As XPathDocument = New XPathDocument("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
Dim manager As XmlNamespaceManager = New XmlNamespaceManager(navigator.NameTable)
manager.AddNamespace("bk", "http://www.contoso.com/books")
Dim total As Double = CType(navigator.Evaluate("sum(descendant::bk:book/bk:price)", manager), Double)
Console.WriteLine("Total price for all books: {0}", total.ToString())
In het voorbeeld wordt het contosoBooks.xml bestand als invoer gebruikt.
<?xml version="1.0" encoding="utf-8" ?>
<bookstore xmlns="http://www.contoso.com/books">
<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>
Opmerkingen
De volgende C#-code retourneert een getal na het converteren van het Price/text() knooppunt naar een getal en het vermenigvuldigen van de waarde met 10.
XPathExpression expr = nav.Compile("Price/text()*10");
nav.Evaluate(expr);
Note
De functies XPath position() en last(), tenzij deze worden gebruikt als predicaat in een locatiestap, vereisen een verwijzing naar een knooppuntset om te worden geëvalueerd. In dit geval moet u de overbelasting gebruiken die een XPathNodeIterator argument gebruikt; anders retourneert position() en last() 0.
Deze methode heeft geen effect op de status van de XPathNavigator.
Van toepassing op
Evaluate(XPathExpression, XPathNodeIterator)
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
- Bron:
- XPathNavigator.cs
Gebruikt de opgegeven context om het XPathExpressionresultaat te evalueren en retourneert het getypte resultaat.
public:
virtual System::Object ^ Evaluate(System::Xml::XPath::XPathExpression ^ expr, System::Xml::XPath::XPathNodeIterator ^ context);
public virtual object Evaluate(System.Xml.XPath.XPathExpression expr, System.Xml.XPath.XPathNodeIterator? context);
public virtual object Evaluate(System.Xml.XPath.XPathExpression expr, System.Xml.XPath.XPathNodeIterator context);
abstract member Evaluate : System.Xml.XPath.XPathExpression * System.Xml.XPath.XPathNodeIterator -> obj
override this.Evaluate : System.Xml.XPath.XPathExpression * System.Xml.XPath.XPathNodeIterator -> obj
Public Overridable Function Evaluate (expr As XPathExpression, context As XPathNodeIterator) As Object
Parameters
- expr
- XPathExpression
Een XPathExpression die kan worden geëvalueerd.
- context
- XPathNodeIterator
Een XPathNodeIterator die verwijst naar de geselecteerde knooppuntset waarop de evaluatie moet worden uitgevoerd.
Retouren
Het resultaat van de expressie (Booleaanse waarde, getal, tekenreeks of knooppuntset). Hiermee worden respectievelijk objecten toegewezen aanBoolean, DoubleStringof XPathNodeIterator objecten.
Uitzonderingen
Het retourtype van de XPath-expressie is een knooppuntset.
De XPath-expressie is ongeldig.
Voorbeelden
Het volgende voorbeeld evalueert een XPathExpression en retourneert een Double met behulp van het Current knooppunt van het XPathNodeIterator als contextknooppunt.
XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();
XPathNodeIterator nodes = navigator.Select("//book");
XPathExpression query = nodes.Current.Compile("sum(descendant::price)");
Double total = (double)navigator.Evaluate(query, nodes);
Console.WriteLine("Total price for all books: {0}", total.ToString());
Dim document As XPathDocument = New XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
Dim nodes As XPathNodeIterator = navigator.Select("//book")
Dim query As XPathExpression = nodes.Current.Compile("sum(descendant::price)")
Dim total As Double = CType(navigator.Evaluate(query, nodes), Double)
Console.WriteLine("Total price for all books: {0}", total.ToString())
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>
Opmerkingen
De expressie wordt geëvalueerd met behulp van het knooppunt van het CurrentXPathNodeIterator contextknooppunt. Als context dat het is null, wordt het knooppunt waarop het XPathNavigator momenteel is geplaatst, gebruikt als het contextknooppunt.
De functies position() en last(), tenzij gebruikt als predicaat in een locatiestap, retourneren altijd 0 onder de volgende voorwaarden:
Het
contextargument isnull.MoveNext is niet opgeroepen op de XPathNodeIterator.
Omdat de functies position() en last() op het huidige knooppunt werken, moet u de Current eigenschap niet gebruiken om weg te gaan van de geselecteerde knooppuntset. Dit kan de status van de XPathNavigator.
Deze methode heeft geen effect op de status van de XPathNavigator.