XPathNodeIterator.Current Proprietà

Definizione

Quando è sottoposto a override in una classe derivata, ottiene l’oggetto XPathNavigator per XPathNodeIterator, posizionato sul nodo di contesto corrente.

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

Valore della proprietà

XPathNavigator

Un oggetto XPathNavigator posizionato sul nodo di contesto da cui è stato selezionato il set di nodi. Il metodo MoveNext() deve essere chiamato per spostare XPathNodeIterator sul primo nodo nel set selezionato.

Esempio

L'esempio seguente ottiene tutti i titoli del libro creati da Herman Melville usando la Current proprietà dell'oggetto XPathNodeIterator e il Clone metodo della XPathNavigator classe.

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

Nell'esempio il file contosoBooks.xml viene considerato come 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>  

Commenti

È possibile usare le proprietà dell'oggetto restituito XPathNavigator per ottenere informazioni sul nodo corrente. Tuttavia, l'oggetto restituito XPathNavigator non deve essere modificato. L'oggetto restituito non può essere spostato XPathNavigator dal set di nodi selezionato.

In alternativa, è possibile clonare l'oggetto usando il XPathNavigator Clone metodo della XPathNavigator classe. L'oggetto clonato può quindi essere spostato XPathNavigator dal set di nodi selezionato. Questo metodo di clonazione dell'oggetto XPathNavigator potrebbe influire sulle prestazioni della query XPath.

Se i SelectAncestorsmetodi , SelectDescendantse SelectChildren non vengono selezionati nodi, la Current proprietà potrebbe non puntare al nodo di contesto.

Per verificare se sono stati selezionati i nodi, usare la Count proprietà, come illustrato nell'esempio seguente.

Si applica a

Vedi anche