XmlNode.CloneNode(Boolean) Methode

Definitie

Hiermee maakt u een duplicaat van het knooppunt wanneer het wordt overschreven in een afgeleide klasse.

public:
 abstract System::Xml::XmlNode ^ CloneNode(bool deep);
public abstract System.Xml.XmlNode CloneNode(bool deep);
abstract member CloneNode : bool -> System.Xml.XmlNode
Public MustOverride 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 knooppunt.

Uitzonderingen

Deze methode aanroepen op een knooppunttype dat niet kan worden gekloond.

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() {

    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;

    //Create a deep clone.  The cloned node
    //includes the child nodes.
    XmlNode deep = root.CloneNode(true);
    Console.WriteLine(deep.OuterXml);

    //Create a shallow clone.  The cloned node does not
    //include the child nodes, but does include its attribute.
    XmlNode shallow = root.CloneNode(false);
    Console.WriteLine(shallow.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
        
        'Create a deep clone.  The cloned node 
        'includes the child nodes.
        Dim deep As XmlNode = root.CloneNode(True)
        Console.WriteLine(deep.OuterXml)
        
        'Create a shallow clone.  The cloned node does not 
        'include the child nodes, but does include its attribute.
        Dim shallow As XmlNode = root.CloneNode(False)
        Console.WriteLine(shallow.OuterXml)
    End Sub
End Class

Opmerkingen

Deze methode fungeert als een kopieerconstructor voor knooppunten. Het dubbele knooppunt heeft geen bovenliggend element (ParentNoderetourneert).null

In de volgende tabel wordt het specifieke gedrag voor elke XmlNodeTypetabel beschreven.

XmlNodeType CloneNode(true) CloneNode (onwaar)
Attribute Kloont het kenmerkknooppunt, inclusief onderliggende knooppunten. Kloont het kenmerkknooppunt, inclusief onderliggende knooppunten.
CData Kloont het CData-knooppunt, inclusief de gegevensinhoud. Kloont het CData-knooppunt, inclusief de gegevensinhoud.
Comment Kloont het opmerkingknooppunt, inclusief de tekstinhoud. Kloont het opmerkingknooppunt, inclusief de tekstinhoud.
Document Kloont het documentknooppunt, inclusief eventuele onderliggende knooppunten. Kloont het documentknooppunt.
DocumentFragment Kloont het documentfragmentknooppunt, inclusief eventuele onderliggende knooppunten. Kloont het documentfragmentknooppunt.
DocumentType Kloont het knooppunt van het documenttype. Kloont het knooppunt van het documenttype.
Element Kloont het elementknooppunt, de bijbehorende kenmerken en eventuele onderliggende knooppunten. Kloont het elementknooppunt en de bijbehorende kenmerken, inclusief eventuele standaardkenmerken.
Entiteit Entiteitsknooppunten kunnen niet worden gekloond. Entiteitsknooppunten kunnen niet worden gekloond.
EntityReference Kloont het knooppunt voor entiteitsreferenties. De vervangende tekst is niet opgenomen. Kloont het knooppunt voor entiteitsreferenties. De vervangende tekst is niet opgenomen.
Notation Notatieknooppunten kunnen niet worden gekloond. Notatieknooppunten kunnen niet worden gekloond.
Verwerkingsinstructie Kloont het verwerkingsinstructieknooppunt, inclusief het doel en de gegevens. Kloont het verwerkingsinstructieknooppunt, inclusief het doel en de gegevens.
SignificanteWitruimte Kloont het significante witruimteknooppunt, inclusief de gegevenswaarde. Kloont het significante witruimteknooppunt, inclusief de gegevenswaarde.
Text Kloont het tekstknooppunt, inclusief de gegevenswaarde. Kloont het tekstknooppunt, inclusief de gegevenswaarde.
Witte ruimte Kloont het witruimteknooppunt, inclusief de gegevenswaarde. Kloont het witruimteknooppunt, inclusief de gegevenswaarde.
XmlDeclaratie Kloont het XmlDeclaration-knooppunt, inclusief de bijbehorende gegevenswaarde. Kloont het XmlDeclaration-knooppunt, inclusief de bijbehorende gegevenswaarde.
Alle andere knooppunttypen. Deze knooppunttypen kunnen niet worden gekloond. Deze knooppunttypen kunnen niet worden gekloond.

Van toepassing op