Partager via


XPathNavigator.Clone Méthode

Définition

En cas de substitution dans une classe dérivée, crée une nouvelle XPathNavigator position au même nœud que celui-ci XPathNavigator.

public:
 abstract System::Xml::XPath::XPathNavigator ^ Clone();
public abstract System.Xml.XPath.XPathNavigator Clone();
abstract member Clone : unit -> System.Xml.XPath.XPathNavigator
Public MustOverride Function Clone () As XPathNavigator

Retours

XPathNavigator Nouveau positionné au même nœud que celui-ci XPathNavigator.

Exemples

L’exemple suivant obtient tous les titres de livre créés par Herman Melville.

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 books.xml fichier en tant qu’entrée.

<?xml version="1.0" encoding="utf-8" ?>
<bookstore>
    <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

La Clone méthode est particulièrement utile conjointement avec le XPathNodeIterator. Il XPathNodeIterator est utilisé pour itérer sur un jeu de nœuds sélectionné et contient une propriété qui retourne une CurrentXPathNavigator position sur le nœud de contexte du XPathNodeIterator. Toutefois, la XPathNavigatorCurrent propriété retournée ne peut pas être utilisée pour se déplacer de l’ensemble de nœuds. Au lieu de cela, vous clonez le navigateur retourné XPathNavigator et utilisez le navigateur cloné pour effectuer des déplacements supplémentaires.

Le cloné XPathNavigator n’est pas affecté par les modifications suivantes apportées à l’original XPathNavigator.

S’applique à