XPathNavigator.Evaluate Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengevaluasi ekspresi XPath yang ditentukan dan mengembalikan hasil yang di ketik.
Overload
| Nama | Deskripsi |
|---|---|
| Evaluate(String) |
Mengevaluasi ekspresi XPath yang ditentukan dan mengembalikan hasil yang di ketik. |
| Evaluate(XPathExpression) |
Mengevaluasi XPathExpression dan mengembalikan hasil yang dititik. |
| Evaluate(String, IXmlNamespaceResolver) |
Mengevaluasi ekspresi XPath yang ditentukan dan mengembalikan hasil yang ditik, menggunakan IXmlNamespaceResolver objek yang ditentukan untuk mengatasi awalan namespace dalam ekspresi XPath. |
| Evaluate(XPathExpression, XPathNodeIterator) |
Menggunakan konteks yang disediakan untuk mengevaluasi XPathExpression, dan mengembalikan hasil yang ditik. |
Evaluate(String)
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
Mengevaluasi ekspresi XPath yang ditentukan dan mengembalikan hasil yang di ketik.
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
Parameter
- xpath
- String
String yang mewakili ekspresi XPath yang dapat dievaluasi.
Mengembalikan
Hasil ekspresi (Boolean, angka, string, atau set simpul). Ini masing-masing memetakan ke BooleanDouble, , String, atau XPathNodeIterator .
Pengecualian
Jenis pengembalian ekspresi XPath adalah set simpul.
Ekspresi XPath tidak valid.
Contoh
Contoh berikut mengevaluasi ekspresi XPath dan mengembalikan 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())
Contoh mengambil books.xml file sebagai input.
<?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>
Keterangan
Kode C# berikut mengonversi simpul Price/text() menjadi angka, mengalikannya dengan 10, dan mengembalikan nilai yang dihasilkan.
nav.Evaluate("Price/text()*10");
Nota
Fungsi XPath position() dan last(), kecuali digunakan sebagai predikat dalam langkah lokasi, memerlukan referensi ke node yang ditetapkan untuk dievaluasi. Dalam hal ini, Anda harus menggunakan kelebihan beban yang mengambil XPathNodeIterator sebagai argumen; jika tidak, posisi() dan terakhir() mengembalikan 0.
Metode ini tidak berpengaruh pada status XPathNavigator.
Lihat juga
Berlaku untuk
Evaluate(XPathExpression)
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
Mengevaluasi XPathExpression dan mengembalikan hasil yang dititik.
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
Parameter
- expr
- XPathExpression
Yang XPathExpression dapat dievaluasi.
Mengembalikan
Hasil ekspresi (Boolean, angka, string, atau set simpul). Ini masing-masing memetakan ke BooleanDouble, , String, atau XPathNodeIterator .
Pengecualian
Jenis pengembalian ekspresi XPath adalah set simpul.
Ekspresi XPath tidak valid.
Contoh
Contoh berikut mengevaluasi XPathExpression dan mengembalikan 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())
Contoh mengambil books.xml file sebagai input.
<?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>
Keterangan
Kode C# berikut mengembalikan angka setelah mengonversi simpul Price/text() menjadi angka dan mengalikan nilai dengan 10.
XPathExpression expr = nav.Compile("Price/text()*10");
nav.Evaluate(expr);
Nota
Fungsi XPath position() dan last(), kecuali digunakan sebagai predikat dalam langkah lokasi, memerlukan referensi ke node yang ditetapkan untuk dievaluasi. Dalam hal ini, Anda harus menggunakan kelebihan beban yang mengambil XPathNodeIterator sebagai argumen; jika tidak, posisi() dan terakhir() mengembalikan 0.
Metode ini tidak berpengaruh pada status XPathNavigator.
Lihat juga
Berlaku untuk
Evaluate(String, IXmlNamespaceResolver)
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
Mengevaluasi ekspresi XPath yang ditentukan dan mengembalikan hasil yang ditik, menggunakan IXmlNamespaceResolver objek yang ditentukan untuk mengatasi awalan namespace dalam ekspresi XPath.
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
Parameter
- xpath
- String
String yang mewakili ekspresi XPath yang dapat dievaluasi.
- resolver
- IXmlNamespaceResolver
Objek yang IXmlNamespaceResolver digunakan untuk mengatasi awalan namespace dalam ekspresi XPath.
Mengembalikan
Hasil ekspresi (Boolean, angka, string, atau set simpul). Ini masing-masing memetakan ke BooleanDouble, , String, atau XPathNodeIterator .
Pengecualian
Jenis pengembalian ekspresi XPath adalah set simpul.
Ekspresi XPath tidak valid.
Contoh
Contoh berikut mengevaluasi ekspresi XPath dan mengembalikan Double menggunakan XmlNamespaceManager objek yang ditentukan untuk mengatasi awalan namespace dalam ekspresi XPath.
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())
Contoh mengambil contosoBooks.xml file sebagai input.
<?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>
Keterangan
Kode C# berikut mengembalikan angka setelah mengonversi simpul Price/text() menjadi angka dan mengalikan nilai dengan 10.
XPathExpression expr = nav.Compile("Price/text()*10");
nav.Evaluate(expr);
Nota
Fungsi XPath position() dan last(), kecuali digunakan sebagai predikat dalam langkah lokasi, memerlukan referensi ke node yang ditetapkan untuk dievaluasi. Dalam hal ini, Anda harus menggunakan kelebihan beban yang mengambil XPathNodeIterator sebagai argumen; jika tidak, posisi() dan terakhir() mengembalikan 0.
Metode ini tidak berpengaruh pada status XPathNavigator.
Berlaku untuk
Evaluate(XPathExpression, XPathNodeIterator)
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
- Sumber:
- XPathNavigator.cs
Menggunakan konteks yang disediakan untuk mengevaluasi XPathExpression, dan mengembalikan hasil yang ditik.
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
Parameter
- expr
- XPathExpression
Yang XPathExpression dapat dievaluasi.
- context
- XPathNodeIterator
Yang XPathNodeIterator menunjuk ke set simpul yang dipilih bahwa evaluasi akan dilakukan.
Mengembalikan
Hasil ekspresi (Boolean, angka, string, atau set simpul). Ini masing-masing memetakan ke BooleanDouble, , String, atau XPathNodeIterator .
Pengecualian
Jenis pengembalian ekspresi XPath adalah set simpul.
Ekspresi XPath tidak valid.
Contoh
Contoh berikut mengevaluasi XPathExpression dan mengembalikan Double menggunakan simpul CurrentXPathNodeIterator sebagai simpul konteks.
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())
Contoh mengambil books.xml file sebagai input.
<?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>
Keterangan
Ekspresi dievaluasi menggunakan simpul CurrentXPathNodeIterator sebagai simpul konteks. Jika context adalah null, simpul tempat XPathNavigator saat ini diposisikan digunakan sebagai simpul konteks.
Fungsi posisi() dan last(), kecuali digunakan sebagai predikat dalam langkah lokasi, selalu kembalikan 0 dalam kondisi berikut:
Argumennya
contextadalahnull.MoveNext belum dipanggil pada XPathNodeIterator.
Karena fungsi position() dan last() berfungsi pada simpul saat ini, Anda tidak boleh menggunakan Current properti untuk menjauh dari set simpul yang dipilih. Ini dapat membatalkan status XPathNavigator.
Metode ini tidak berpengaruh pada status XPathNavigator.