Aracılığıyla paylaş


XPathNavigator.Clone Yöntem

Tanım

Türetilmiş bir sınıfta geçersiz kılındığında, bu XPathNavigatorile aynı düğümde konumlandırılmış yeni XPathNavigator bir oluşturur.

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

Döndürülenler

Bu XPathNavigatorile aynı düğümde konumlandırılmış yeni XPathNavigator bir .

Örnekler

Aşağıdaki örnek, Herman Melville tarafından yazılan tüm kitap başlıklarını alır.

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

Örnek, books.xml dosyasını giriş olarak alır.

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

Açıklamalar

Clone yöntemi özellikle ile XPathNodeIteratorbirlikte yararlıdır. , XPathNodeIterator seçili düğüm kümesini yinelemek için kullanılır ve öğesinin bağlam düğümünde XPathNodeIteratorkonumlandırılmış bir döndüren bir XPathNavigator özellik içerirCurrent. Ancak, XPathNavigator özelliği tarafından Current döndürülen düğüm kümesinden uzaklaşmak için kullanılamaz. Bunun yerine, döndürüleni XPathNavigator klonlar ve ek taşımalar yapmak için kopyalanan gezgini kullanırsınız.

Kopyalanan XPathNavigator , özgün XPathNavigatordosyasında yapılan sonraki değişikliklerden etkilenmez.

Şunlara uygulanır