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.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlDocument^ doc = gcnew 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 );
}
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 kopiuje wszystkie atrybuty i ich wartości, w tym te wygenerowane 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 | Klonowanie |
---|---|
Atrybut | Klonuje węzeł atrybutu, w tym węzły podrzędne. |
Cdata | Klonuje węzeł CData, w tym jego zawartość danych. |
Komentarz | 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. |
Documenttype | Klonuje węzeł typu dokumentu. |
Element | Klonuje węzeł elementu, jego atrybuty i wszystkie węzły podrzędne. |
Jednostka | Nie można sklonować węzłów jednostki. |
Odwołanie do jednostki | Klonuje węzeł odwołania do jednostki. Tekst zastępczy nie jest uwzględniony. |
Notacja | Nie można sklonować węzłów notacji. |
ProcessingInstruction | Klonuje węzeł instrukcji przetwarzania, w tym jego element docelowy i dane. |
ZnacząceWhitespace | 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ł odstępu, w tym jego wartość danych. |
Xmldeclaration | 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 firmy Microsoft do modelu obiektów dokumentów (DOM).