XPathNodeIterator.Current Vlastnost

Definice

Při přepsání v odvozené třídě získá objekt pro tento XPathNodeIterator, XPathNavigator umístěný na aktuálním kontextovém uzlu.

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

Hodnota vlastnosti

XPathNavigator

Objekt XPathNavigator umístěný na kontextovém uzlu, ze kterého byla vybrána sada uzlů. Metoda MoveNext() se musí volat, aby se přesunula XPathNodeIterator na první uzel ve vybrané sadě.

Příklady

Následující příklad získá všechny knihy tituly vytvořené HermanEm Melville pomocí Current vlastnosti XPathNodeIterator objektu a Clone metody XPathNavigator třídy.

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

Příklad přebírá contosoBooks.xml soubor jako vstup.

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

Poznámky

Pomocí vlastností vráceného XPathNavigator objektu můžete získat informace o aktuálním uzlu. Vrácený XPathNavigator objekt by však neměl být změněn. Vrácený XPathNavigator objekt nelze přesunout z vybrané sady uzlů.

Alternativně můžete objekt naklonovat XPathNavigator pomocí Clone metody XPathNavigator třídy. Klonovaný XPathNavigator objekt se pak dá přesunout mimo vybranou sadu uzlů. Tato metoda klonování objektu XPathNavigator může ovlivnit výkon dotazu XPath.

SelectAncestorsPokud funkce , SelectDescendantsa SelectChildren metody způsobí, že nejsou vybrány žádné uzly, Current vlastnost nemusí odkazovat na kontextový uzel.

Chcete-li otestovat, zda uzly byly vybrány, použijte Count vlastnost, jak je znázorněno v následujícím příkladu.

Platí pro

Viz také