XPathNodeIterator.Current Egenskap

Definition

När det åsidosätts i en härledd klass hämtar objektet XPathNavigator för den här XPathNodeIterator, placerad på den aktuella kontextnoden.

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

Egenskapsvärde

Ett XPathNavigator objekt som placerats på kontextnoden från vilken noduppsättningen valdes. Metoden MoveNext() måste anropas för att flytta XPathNodeIterator till den första noden i den valda uppsättningen.

Exempel

I följande exempel hämtas alla boktitlar som skapats av Herman Melville med Current egenskapen XPathNodeIterator för objektet och Clone -metoden för XPathNavigator klassen.

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

Exemplet tar contosoBooks.xml-filen som indata.

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

Kommentarer

Du kan använda egenskaperna för det returnerade XPathNavigator objektet för att hämta information om den aktuella noden. Det returnerade XPathNavigator objektet bör dock inte ändras. Det returnerade XPathNavigator objektet kan inte flyttas bort från den valda noduppsättningen.

Du kan också klona XPathNavigator objektet med hjälp Clone av -metoden för XPathNavigator klassen. Det klonade XPathNavigator objektet kan sedan flyttas bort från den valda noduppsättningen. Den här metoden för att klona XPathNavigator objektet kan påverka XPath-frågans prestanda.

SelectAncestorsOm metoderna , SelectDescendantsoch SelectChildren resulterar i att inga noder väljs, Current kanske egenskapen inte pekar på kontextnoden.

Om du vill testa om noder har valts använder du Count egenskapen enligt följande exempel.

Gäller för

Se även