XPathNodeIterator.Current Özellik

Tanım

Türetilmiş bir sınıfta geçersiz kılındığında, geçerli bağlam düğümünde konumlandırılan bu XPathNodeIteratoriçin nesnesini alırXPathNavigator.

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

Özellik Değeri

XPathNavigator

Düğüm XPathNavigator kümesinin seçildiği bağlam düğümünde konumlandırılmış bir nesne. seçilen kümedeki MoveNext() ilk düğüme taşımak XPathNodeIterator için yönteminin çağrılması gerekir.

Örnekler

Aşağıdaki örnek, nesnesinin Current özelliğini XPathNodeIterator ve Clone sınıfının yöntemini kullanarak Herman Melville tarafından yazılan tüm kitap başlıklarını XPathNavigator alır.

XPathDocument^ document = gcnew 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);
}
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

Örnek, dosyayı giriş olarak alır contosoBooks.xml .

<?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>  

Açıklamalar

Geçerli düğüm hakkında bilgi almak için döndürülen XPathNavigator nesnenin özelliklerini kullanabilirsiniz. Ancak, döndürülen XPathNavigator nesne değiştirilmemelidir. Döndürülen XPathNavigator nesne seçili düğüm kümesinden taşınamaz.

Alternatif olarak, sınıfının yöntemini XPathNavigator kullanarak Clone nesnesini kopyalayabilirsinizXPathNavigator. Kopyalanan XPathNavigator nesne daha sonra seçili düğüm kümesinden taşınabilir. Nesneyi kopyalamanın bu XPathNavigator yöntemi XPath sorgusunun performansını etkileyebilir.

, SelectDescendantsve SelectChildren yöntemleri hiçbir düğümün SelectAncestorsseçilmemesiyle sonuçlanırsa, Current özellik bağlam düğümüne işaret ediyor olmayabilir.

Düğümlerin seçilip seçilmediğini test etmek için aşağıdaki örnekte gösterildiği gibi özelliğini kullanın Count .

Şunlara uygulanır

Ayrıca bkz.