XPathNodeIterator.Current Propriété

Définition

En cas de substitution dans une classe dérivée, obtient l’objet XPathNavigator pour cet élément XPathNodeIterator, placé sur le nœud de contexte actuel.

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

Valeur de propriété

XPathNavigator

Objet XPathNavigator positionné sur le nœud de contexte à partir duquel l’ensemble de nœuds a été sélectionné. La méthode MoveNext() doit être appelée pour déplacer l’élément XPathNodeIterator vers le premier nœud de l’ensemble sélectionné.

Exemples

L’exemple suivant obtient tous les titres de livres créés par Herman Melville à l’aide de la Current propriété de l’objet XPathNodeIterator et de la Clone méthode de la 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

L'exemple prend le fichier contosoBooks.xml comme entrée.

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

Remarques

Vous pouvez utiliser les propriétés de l’objet retourné XPathNavigator pour obtenir des informations sur le nœud actuel. Toutefois, l’objet retourné XPathNavigator ne doit pas être modifié. L’objet retourné XPathNavigator ne peut pas être déplacé de l’ensemble de nœuds sélectionné.

Vous pouvez également cloner l’objet XPathNavigator à l’aide de la Clone méthode de la XPathNavigator classe. L’objet cloné XPathNavigator peut ensuite être déplacé de l’ensemble de nœuds sélectionné. Cette méthode de clonage de l’objet XPathNavigator peut affecter les performances de la requête XPath.

Si le , SelectDescendantset SelectChildren les SelectAncestorsméthodes n’entraînent aucune sélection de nœuds, la Current propriété peut ne pas pointer vers le nœud de contexte.

Pour vérifier si les nœuds ont été sélectionnés, utilisez la Count propriété comme indiqué dans l’exemple suivant.

S’applique à

Voir aussi