XmlDocument.CloneNode(Boolean) Methode

Definitie

Hiermee maakt u een duplicaat van dit knooppunt.

public:
 override System::Xml::XmlNode ^ CloneNode(bool deep);
public override System.Xml.XmlNode CloneNode(bool deep);
override this.CloneNode : bool -> System.Xml.XmlNode
Public Overrides Function CloneNode (deep As Boolean) As XmlNode

Parameters

deep
Boolean

true recursief de substructuur onder het opgegeven knooppunt te klonen; false om alleen het knooppunt zelf te klonen.

Retouren

Het gekloonde XmlDocument knooppunt.

Voorbeelden

In het volgende voorbeeld ziet u het verschil tussen een diepe en ondiepe kloon.

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
    //Create the XmlDocument.
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" +
                "<title>Pride And Prejudice</title>" +
                "</book>");

    //Create a deep clone.  The cloned node
    //includes the child node.
    XmlDocument deep = (XmlDocument) doc.CloneNode(true);
    Console.WriteLine(deep.ChildNodes.Count);

    //Create a shallow clone.  The cloned node does not
    //include the child node.
    XmlDocument shallow = (XmlDocument) doc.CloneNode(false);
    Console.WriteLine(shallow.Name + shallow.OuterXml);
    Console.WriteLine(shallow.ChildNodes.Count);
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        'Create the XmlDocument.
        Dim doc As New XmlDocument()
        doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>"  & _
                    "<title>Pride And Prejudice</title>"  & _
                    "</book>")
        
        'Create a deep clone.  The cloned node 
        'includes the child node.
        Dim deep As XmlDocument = CType(doc.CloneNode(True), XmlDocument)
        Console.WriteLine(deep.ChildNodes.Count)
        
        'Create a shallow clone.  The cloned node does not 
        'include the child node.
        Dim shallow As XmlDocument = CType(doc.CloneNode(False), XmlDocument)
        Console.WriteLine(shallow.Name + shallow.OuterXml)
        Console.WriteLine(shallow.ChildNodes.Count)
    End Sub
End Class

Opmerkingen

Deze methode fungeert als een kopieerconstructor voor knooppunten. Het gekloonde knooppunt heeft geen bovenliggende knooppunt (ParentNoderetourneert).null

Als deep dat het is true, bevat het gekloonde knooppunt alle onderliggende knooppunten, anders wordt alleen het XmlDocument knooppunt gekloond. Zie de XmlNode.CloneNode methode om te zien hoe deze methode zich gedraagt op andere knooppunttypen.

Van toepassing op