XmlNode.Clone Methode

Definition

Erstellt ein Duplikat dieses Knotens.Creates a duplicate of this node.

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

Gibt zurück

Der geklonte Knoten.The cloned node.

Beispiele

Im folgenden Beispiel wird der Stamm Knoten des XML-Dokuments geklont.The following example clones the root node of the XML document.

#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

Hinweise

Beim Klonen einer XmlElement werden alle Attribute und deren Werte kopiert, einschließlich derjenigen, die vom XML-Prozessor generiert werden, um Standard Attribute darzustellen.Cloning an XmlElement copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes. Diese Methode klont den Knoten und die untergeordnete Struktur rekursiv.This method recursively clones the node and the subtree underneath it.

Clone entspricht dem Aufrufen von CloneNode(true).Clone is equivalent to calling CloneNode(true).

In der folgenden Tabelle wird das spezifische Verhalten der einzelnen XmlNodeType beschrieben.The following table describes the specific behavior for each XmlNodeType.

XmlNodeTypeXmlNodeType KlonenClone
AttributAttribute Klont den Attribut Knoten, einschließlich der untergeordneten Knoten.Clones the attribute node, including child nodes.
CDATACData Klont den CDATA-Knoten, einschließlich seines Daten Inhalts.Clones the CData node, including its data content.
KommentarComment Klont den Kommentar Knoten, einschließlich seines Text Inhalts.Clones the comment node, including its text content.
DokumentDocument Klont den Dokument Knoten, einschließlich aller untergeordneten Knoten.Clones the document node, including any child nodes.
DocumentFragmentDocumentFragment Klont den Dokument Fragmente Knoten, einschließlich aller untergeordneten Knoten.Clones the document fragment node, including any child nodes.
DocumentTypeDocumentType Klont den Dokumenttyp Knoten.Clones the document type node.
ElementElement Klont den Elementknoten, seine Attribute und alle untergeordneten Knoten.Clones the element node, its attributes, and any child nodes.
EntitätEntity Entitätsknoten können nicht geklont werden.Entity nodes cannot be cloned.
EntityReferenceEntityReference Klont den Entitäts Verweis Knoten.Clones the entity reference node. Der Ersetzungstext ist davon nicht betroffen.The replacement text is not included.
NotationNotation Notationsknoten können nicht geklont werden.Notation nodes cannot be cloned.
ProcessingInstructionProcessingInstruction Klont den Verarbeitungs Anweisungs Knoten, einschließlich seines Ziels und der zugehörigen Daten.Clones the processing instruction node, including its target and data.
SignificantWhitespaceSignificantWhitespace Klont den signifikanten Leerraum Knoten, einschließlich seines Datenwerts.Clones the significant white space node, including its data value.
TextText Klont den Textknoten, einschließlich seines Datenwerts.Clones the text node, including its data value.
WhitespaceWhitespace Klont den Leerraum Knoten, einschließlich seines Datenwerts.Clones the white space node, including its data value.
XmlDeclarationXmlDeclaration Klont den XmlDeclaration-Knoten, einschließlich seines Datenwerts.Clones the XmlDeclaration node, including its data value.
Alle anderen Knoten Typen.All other node types. Diese Knoten Typen können nicht geklont werden.These node types cannot be cloned.

Diese Methode ist eine Microsoft-Erweiterung für die Dokumentobjektmodell (DOM).This method is a Microsoft extension to the Document Object Model (DOM).

Gilt für:

Siehe auch