XPathNodeIterator.Current Properti
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.
Ketika ditimpa dalam kelas turunan, mendapatkan XPathNavigator objek untuk ini XPathNodeIterator, diposisikan pada simpul konteks saat ini.
public:
abstract property System::Xml::XPath::XPathNavigator ^ Current { System::Xml::XPath::XPathNavigator ^ get(); };
public abstract System.Xml.XPath.XPathNavigator? Current { get; }
public abstract System.Xml.XPath.XPathNavigator Current { get; }
member this.Current : System.Xml.XPath.XPathNavigator
Public MustOverride ReadOnly Property Current As XPathNavigator
Nilai Properti
Objek XPathNavigator yang diposisikan pada simpul konteks tempat kumpulan simpul dipilih. Metode MoveNext() harus dipanggil untuk memindahkan XPathNodeIterator ke simpul pertama dalam set yang dipilih.
Contoh
Contoh berikut mendapatkan semua judul buku yang ditulis oleh Herman Melville menggunakan Current properti XPathNodeIterator objek dan Clone metode XPathNavigator kelas .
XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();
// Select all books authored by Melville.
XPathNodeIterator nodes = navigator.Select("descendant::book[author/last-name='Melville']");
while (nodes.MoveNext())
{
// Clone the navigator returned by the Current property.
// Use the cloned navigator to get the title element.
XPathNavigator clone = nodes.Current.Clone();
clone.MoveToFirstChild();
Console.WriteLine("Book title: {0}", clone.Value);
}
Dim document As XPathDocument = New XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
' Select all books authored by Melville.
Dim nodes As XPathNodeIterator = navigator.Select("descendant::book[author/last-name='Melville']")
While nodes.MoveNext()
' Clone the navigator returned by the Current property.
' Use the cloned navigator to get the title element.
Dim clone As XPathNavigator = nodes.Current.Clone()
clone.MoveToFirstChild()
Console.WriteLine("Book title: {0}", clone.Value)
End While
Contoh mengambil file contosoBooks.xml 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
Anda dapat menggunakan properti objek yang dikembalikan XPathNavigator untuk mendapatkan informasi tentang simpul saat ini. Namun, objek yang dikembalikan XPathNavigator tidak boleh dimodifikasi. Objek yang dikembalikan XPathNavigator tidak dapat dipindahkan dari set simpul yang dipilih.
Atau, Anda dapat mengkloning XPathNavigator objek menggunakan Clone metode XPathNavigator kelas . Objek kloning XPathNavigator kemudian dapat dipindahkan menjauh dari set simpul yang dipilih. Metode kloning XPathNavigator objek ini dapat memengaruhi performa kueri XPath.
SelectAncestorsJika metode , SelectDescendants, dan SelectChildren mengakibatkan tidak ada simpul yang dipilih, Current properti mungkin tidak menunjuk ke simpul konteks.
Untuk menguji apakah simpul telah dipilih, gunakan properti seperti yang Count ditunjukkan dalam contoh berikut.