Freigeben über


XmlNode.Clone-Methode

Erstellt ein Duplikat dieses Knotens.

Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)

Syntax

'Declaration
Public Overridable Function Clone As XmlNode
'Usage
Dim instance As XmlNode
Dim returnValue As XmlNode

returnValue = instance.Clone
public virtual XmlNode Clone ()
public:
virtual XmlNode^ Clone ()
public XmlNode Clone ()
public function Clone () : XmlNode

Rückgabewert

Der geklonte Knoten.

Hinweise

Beim Klonen von XmlElement werden sämtliche Attribute und deren Werte kopiert, einschließlich derer, die vom XML-Prozessor für die Darstellung standardisierter Attribute generiert wurden. Diese Methode klont den Knoten und die darunter befindliche Teilstruktur rekursiv.

Clone entspricht dem Aufruf von CloneNode(true).

In der folgenden Tabelle wird das spezifische Verhalten für jeden XmlNodeType beschrieben.

XmlNodeType

Klon

Attribute

Klont den Attributknoten einschließlich untergeordneter Knoten.

CData

Klont den CData-Knoten einschließlich dessen Dateninhalts.

Comment

Klont den Kommentarknoten einschließlich dessen Textinhalts.

Document

Klont den Dokumentknoten einschließlich sämtlicher untergeordneter Knoten.

DocumentFragment

Klont den Dokumentfragmentknoten einschließlich sämtlicher untergeordneter Knoten.

DocumentType

Klont den Dokumenttypknoten.

Element

Klont den Elementknoten, dessen Attribute und sämtliche untergeordneten Knoten.

Entity

Entitätsknoten können nicht geklont werden.

EntityReference

Klont den Entitätsverweisknoten. Der Ersetzungstext ist davon nicht betroffen.

Notation

Notationsknoten können nicht geklont werden.

ProcessingInstruction

Klont den Verarbeitungsanweisungsknoten, einschließlich Ziel und Daten.

SignificantWhitespace

Klont den Knoten für signifikanten Leerraum, einschließlich dessen Dateninhalts.

Text

Klont den Textknoten einschließlich des zugehörigen Datenwerts.

Whitespace

Klont den Leerraumknoten einschließlich dessen Dateninhalts.

XmlDeclaration

Klont den Knoten für die XML-Deklaration einschließlich des zugehörigen Datenwerts.

Alle anderen Knotentypen.

Diese Knotentypen können nicht geklont werden.

Diese Methode ist eine Microsoft-Erweiterung des Dokumentobjektmodells (Document Object Model, DOM).

Beispiel

Im folgenden Beispiel wird der Stammknoten des XML-Dokuments geklont.

Option Explicit
Option Strict

Imports System
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 'Main
End Class 'Sample
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);
  }
}
#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 );
}
import System.*;
import System.IO.*;
import System.Xml.*;

public class Sample
{
    public static void main(String[] args)
    {
        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.get_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.get_OuterXml());
    } //main
} //Sample

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

XmlNode-Klasse
XmlNode-Member
System.Xml-Namespace
CloneNode