XmlNode.Clone Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří duplikát tohoto uzlu.
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
Návraty
Klonovaný uzel.
Příklady
Následující příklad naklonuje kořenový uzel 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
Poznámky
Klonování XmlElement zkopíruje všechny atributy a jejich hodnoty, včetně těch, které vygeneroval procesor XML, aby představovaly výchozí atributy. Tato metoda rekurzivně naklonuje uzel a podstrom pod ním.
Clone
je ekvivalentní volání CloneNode(true)
.
Následující tabulka popisuje konkrétní chování jednotlivých XmlNodeType.
Xmlnodetype | Klonování |
---|---|
Atribut | Naklonuje uzel atributu, včetně podřízených uzlů. |
Cdata | Naklonuje uzel CData, včetně jeho datového obsahu. |
Komentář | Naklonuje uzel komentáře, včetně jeho textového obsahu. |
Dokument | Naklonuje uzel dokumentu, včetně všech podřízených uzlů. |
Documentfragment | Naklonuje uzel fragmentu dokumentu, včetně všech podřízených uzlů. |
Documenttype | Naklonuje uzel typu dokumentu. |
Prvek | Naklonuje uzel elementu, jeho atributy a všechny podřízené uzly. |
Entita | Uzly entit nelze naklonovat. |
EntityReference | Naklonuje referenční uzel entity. Náhradní text není zahrnut. |
Notace | Notační uzly nelze naklonovat. |
Processinginstruction | Naklonuje uzel instrukce zpracování, včetně cíle a dat. |
SignificantWhitespace | Naklonuje významný prázdný uzel, včetně jeho datové hodnoty. |
Text | Naklonuje textový uzel, včetně jeho datové hodnoty. |
Prázdné znaky | Naklonuje uzel prázdného místa, včetně jeho datové hodnoty. |
Xmldeclaration | Naklonuje uzel XmlDeclaration, včetně jeho datové hodnoty. |
Všechny ostatní typy uzlů. | Tyto typy uzlů nelze naklonovat. |
Tato metoda je rozšířením Microsoftu na model DOM (Document Object Model).