Condividi tramite


XPathNodeIterator.Current Proprietà

Definizione

Quando sottoposto a override in una classe derivata, ottiene l'oggetto XPathNavigator per questo XPathNodeIteratoroggetto , 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à

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

Esempio

Nell'esempio seguente vengono restituiti tutti i titoli dei libri creati da Herman Melville usando la Current proprietà dell'oggetto XPathNodeIterator e il Clone metodo della XPathNavigator classe .

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

L'esempio accetta il file contosoBooks.xml 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 utilizzare 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 XPathNavigator usando il 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 metodi , SelectDescendantse SelectChildren non comportano l'selezione SelectAncestorsdi nodi, la Current proprietà potrebbe non puntare al nodo di contesto.

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

Si applica a

Vedi anche