Freigeben über


XmlDataDocument.CloneNode-Methode

Erstellt ein Duplikat des aktuellen Knotens.

Namespace: System.Xml
Assembly: System.Data (in system.data.dll)

Syntax

'Declaration
Public Overrides Function CloneNode ( _
    deep As Boolean _
) As XmlNode
'Usage
Dim instance As XmlDataDocument
Dim deep As Boolean
Dim returnValue As XmlNode

returnValue = instance.CloneNode(deep)
public override XmlNode CloneNode (
    bool deep
)
public:
virtual XmlNode^ CloneNode (
    bool deep
) override
public XmlNode CloneNode (
    boolean deep
)
public override function CloneNode (
    deep : boolean
) : XmlNode

Parameter

  • deep
    true, wenn die Teilstruktur unter dem angegebenen Knoten rekursiv geklont werden soll, false, wenn nur der Knoten selbst geklont werden soll.

Rückgabewert

Der geklonte Knoten.

Hinweise

Beim Klonen des XmlDataDocument wird auch das DataSet-Schema geklont.

Wenn deep auf false festgelegt ist, enthält das geklonte DataSet keine Daten, d. h. keine Zeilen.

Wenn deep auf true festgelegt ist, wird das geklonte DataSet dem Schema entsprechend festgelegt und dann mit den Daten aufgefüllt.

In CloneNode finden Sie unter XmlNode-Klasse eine Tabelle, in der das Verhalten dieser Methode bei den unterschiedlichen Knotentypen beschrieben wird.

Beispiel

Im folgenden Beispiel wird ein DataSet in ein XmlDataDocument geladen und anschließend ein flacher Klon des XmlDataDocument erstellt.

Im Beispiel wird die SQL Server 2000-Datenbank Northwind verwendet.

Imports System
Imports System.Xml
Imports System.Data
Imports System.Data.SqlClient
 
 
public class Sample
 
  public shared sub Main()
   
    Dim dsNorthwind as DataSet = new DataSet()
 
    'Create the connection string.
    Dim sConnect as String           
    sConnect="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind"     
          
    'Create a connection object to connect to the northwind db.
    Dim nwconnect as SqlConnection
    nwconnect = new SqlConnection(sConnect)
 
    'Create a command string to select all the customers in the WA region.
    Dim sCommand as String = "Select * from Customers where Region='WA'"
 
    'Create an Adapter to load the DataSet.
    Dim myDataAdapter as SqlDataAdapter
    myDataAdapter = new SqlDataAdapter(sCommand, nwconnect)
 
    'Fill the DataSet with the selected records.
    myDataAdapter.Fill(dsNorthwind, "Customers")
 
    'Load the document with the DataSet.
    Dim doc as XmlDataDocument = new XmlDataDocument(dsNorthwind)  
 
    'Create a shallow clone of the XmlDataDocument. Note that although
    'none of the child nodes were copied over, the cloned node does
    'have the schema information.
    Dim clone as XmlDataDocument
    clone = CType (doc.CloneNode(false), XmlDataDocument) 
    Console.WriteLine("Child count: {0}", clone.ChildNodes.Count)
    Console.WriteLine(clone.DataSet.GetXmlSchema())
 
  end sub
end class
using System;
using System.Data;
using System.Xml;
using System.Data.SqlClient;

public class Sample
{
  public static void Main()
  {
     DataSet dsNorthwind = new DataSet();

     //Create the connection string.           
     String sConnect;
     sConnect="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";     
         
     //Create a connection object to connect to the northwind db.
     SqlConnection nwconnect = new SqlConnection(sConnect);

     //Create a command string to select all the customers in the WA region.
     String sCommand = "Select * from Customers where Region='WA'";

     //Create an adapter to load the DataSet.
     SqlDataAdapter myDataAdapter = new SqlDataAdapter(sCommand, nwconnect);

     //Fill the DataSet with the selected records.
     myDataAdapter.Fill(dsNorthwind,"Customers");

     //Load the document with the DataSet.
     XmlDataDocument doc = new XmlDataDocument(dsNorthwind);   

     //Create a shallow clone of the XmlDataDocument. Note that although
     //none of the child nodes were copied over, the cloned node does
     //have the schema information.
     XmlDataDocument clone = (XmlDataDocument) doc.CloneNode(false);
     Console.WriteLine("Child count: {0}", clone.ChildNodes.Count);
     Console.WriteLine(clone.DataSet.GetXmlSchema());   
  }
}
#using <System.Xml.dll>
#using <System.Transactions.dll>
#using <System.EnterpriseServices.dll>
#using <System.dll>
#using <System.Data.dll>

using namespace System;
using namespace System::Data;
using namespace System::Xml;
using namespace System::Data::SqlClient;
int main()
{
   DataSet^ dsNorthwind = gcnew DataSet;
   
   //Create the connection string.           
   String^ sConnect;
   sConnect = "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind";
   
   //Create a connection object to connect to the northwind db.
   SqlConnection^ nwconnect = gcnew SqlConnection( sConnect );
   
   //Create a command string to select all the customers in the WA region.
   String^ sCommand = "Select * from Customers where Region='WA'";
   
   //Create an adapter to load the DataSet.
   SqlDataAdapter^ myDataAdapter = gcnew SqlDataAdapter( sCommand,nwconnect );
   
   //Fill the DataSet with the selected records.
   myDataAdapter->Fill( dsNorthwind, "Customers" );
   
   //Load the document with the DataSet.
   XmlDataDocument^ doc = gcnew XmlDataDocument( dsNorthwind );
   
   //Create a shallow clone of the XmlDataDocument. Note that although
   //none of the child nodes were copied over, the cloned node does
   //have the schema information.
   XmlDataDocument^ clone = dynamic_cast<XmlDataDocument^>(doc->CloneNode( false ));
   Console::WriteLine( "Child count: {0}", clone->ChildNodes->Count );
   Console::WriteLine( clone->DataSet->GetXmlSchema() );
}
import System.*;
import System.Data.*;
import System.Xml.*;
import System.Data.SqlClient.*;

public class Sample
{
    public static void main(String[] args)
    {
        DataSet dsNorthwind = new DataSet();

        //Create the connection string.           
        String sConnect;
        sConnect = "Data Source=localhost;Integrated Security=SSPI;"
            + "Initial Catalog=Northwind";

        //Create a connection object to connect to the northwind db.
        SqlConnection nwConnect = new SqlConnection(sConnect);

        //Create a command string to select all the customers in the WA region.
        String sCommand = "Select * from Customers where Region='WA'";

        //Create an adapter to load the DataSet.
        SqlDataAdapter myDataAdapter = new SqlDataAdapter(sCommand, nwConnect);

        //Fill the DataSet with the selected records.
        myDataAdapter.Fill(dsNorthwind, "Customers");

        //Load the document with the DataSet.
        XmlDataDocument doc = new XmlDataDocument(dsNorthwind);

        //Create a shallow clone of the XmlDataDocument. Note that although
        //none of the child nodes were copied over, the cloned node does
        //have the schema information.
        XmlDataDocument clone = (XmlDataDocument)doc.CloneNode(false);
        Console.WriteLine("Child count: {0}", 
            System.Convert.ToString(clone.get_ChildNodes().get_Count()));
        Console.WriteLine(clone.get_DataSet().GetXmlSchema());
    } //main
} //Sample

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, 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

Siehe auch

Referenz

XmlDataDocument-Klasse
XmlDataDocument-Member
System.Xml-Namespace