XPathNavigator.Clone Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.