XmlNode.Clone Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Tworzy duplikat tego węzła.
public:
virtual System::Xml::XmlNode ^ Clone();
public virtual System.Xml.XmlNode Clone();
abstract member Clone : unit -> System.Xml.XmlNode
override this.Clone : unit -> System.Xml.XmlNode
Public Overridable Function Clone () As XmlNode
Zwraca
Sklonowany węzeł.
Przykłady
Poniższy przykład klonuje węzeł główny dokumentu XML.
using System;
using System.IO;
using System.Xml;
public class Sample {
public static void Main() {
XmlDocument doc = new XmlDocument();
doc.LoadXml("<book ISBN='1-861001-57-5'>" +
"<title>Pride And Prejudice</title>" +
"<price>19.95</price>" +
"</book>");
XmlNode root = doc.FirstChild;
//Clone the root node. The cloned node includes
//child nodes. This is similar to calling CloneNode(true).
XmlNode clone = root.Clone();
Console.WriteLine(clone.OuterXml);
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim doc As New XmlDocument()
doc.LoadXml("<book ISBN='1-861001-57-5'>" & _
"<title>Pride And Prejudice</title>" & _
"<price>19.95</price>" & _
"</book>")
Dim root As XmlNode = doc.FirstChild
'Clone the root node. The cloned node includes
'child nodes. This is similar to calling CloneNode(true).
Dim clone As XmlNode = root.Clone()
Console.WriteLine(clone.OuterXml)
End Sub
End Class
Uwagi
Klonowanie XmlElement kopii wszystkich atrybutów i ich wartości, w tym tych generowanych przez procesor XML do reprezentowania atrybutów domyślnych. Ta metoda rekursywnie klonuje węzeł i poddrzewo pod nim.
Clone jest odpowiednikiem wywołania metody CloneNode(true).
W poniższej tabeli opisano konkretne zachowanie dla każdego XmlNodeTypeelementu .
| XmlNodeType | Clone |
|---|---|
| Attribute | Klonuje węzeł atrybutu, w tym węzły podrzędne. |
| CData | Klonuje węzeł CData, w tym jego zawartość danych. |
| Comment | Klonuje węzeł komentarza, w tym jego zawartość tekstową. |
| Dokument | Klonuje węzeł dokumentu, w tym wszystkie węzły podrzędne. |
| Documentfragment | Klonuje węzeł fragmentu dokumentu, w tym wszystkie węzły podrzędne. |
| Typ dokumentu | Klonuje węzeł typu dokumentu. |
| Element | Klonuje węzeł elementu, jego atrybuty i wszystkie węzły podrzędne. |
| Entity | Nie można sklonować węzłów jednostki. |
| EntityReference | Klonuje węzeł odwołania do jednostki. Tekst zastępczy nie jest dołączony. |
| Notation | Nie można sklonować węzłów notacji. |
| Instrukcja przetwarzania | Klonuje węzeł instrukcji przetwarzania, w tym jego element docelowy i dane. |
| Znacząca Biała Przestrzeń | Klonuje znaczący węzeł odstępu, w tym jego wartość danych. |
| Tekst | Klonuje węzeł tekstowy, w tym jego wartość danych. |
| Białe znaki | Klonuje węzeł biały, w tym jego wartość danych. |
| Deklaracja XML | Klonuje węzeł XmlDeclaration, w tym jego wartość danych. |
| Wszystkie inne typy węzłów. | Nie można sklonować tych typów węzłów. |
Ta metoda jest rozszerzeniem Microsoft do modelu obiektów dokumentów (DOM).