XmlNode.CloneNode(Boolean) Metódus

Definíció

Létrehoz egy másolatot a csomópontról, ha felül van bírálva egy származtatott osztályban.

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

Paraméterek

deep
Boolean

true a részösszeg rekurzív klónozása a megadott csomópont alatt; false csak magát a csomópontot klónozza.

Válaszok

A klónozott csomópont.

Kivételek

Ezt a metódust olyan csomóponttípuson hívja meg, amely nem klónozott.

Példák

Az alábbi példa a mély és a sekély klón közötti különbséget mutatja be.

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

Megjegyzések

Ez a módszer a csomópontok másolási konstruktoraként szolgál. Az ismétlődő csomópontnak nincs szülője (ParentNode visszaadja null).

Az alábbi táblázat az egyes XmlNodeTypeviselkedéseket ismerteti.

XmlNodeType CloneNode(true) CloneNode(false)
Attribute Klónozza az attribútumcsomópontot, beleértve a gyermekcsomópontokat is. Klónozza az attribútumcsomópontot, beleértve a gyermekcsomópontokat is.
CData Klónozza a CData-csomópontot, beleértve az adattartalmat is. Klónozza a CData-csomópontot, beleértve az adattartalmat is.
Megjegyzés Klónozza a megjegyzéscsomópontot, beleértve annak szöveges tartalmát is. Klónozza a megjegyzéscsomópontot, beleértve annak szöveges tartalmát is.
Dokumentum Klónozza a dokumentumcsomópontot, beleértve a gyermekcsomópontokat is. Klónozza a dokumentumcsomópontot.
DocumentFragment Klónozza a dokumentumtöredékcsomópontot, beleértve a gyermekcsomópontokat is. Klónozza a dokumentumtöredék csomópontját.
Dokumentumtípus Klónozza a dokumentumtípus-csomópontot. Klónozza a dokumentumtípus-csomópontot.
Elem Klónozza az elemcsomópontot, annak attribútumait és minden gyermekcsomópontot. Klónozza az elemcsomópontot és annak attribútumait, beleértve az alapértelmezett attribútumokat is.
Entity Az entitáscsomópontok nem klónozhatnak. Az entitáscsomópontok nem klónozhatnak.
EntityReference Klónozza az entitás referenciacsomópontot. A helyettesítő szöveg nem szerepel a szövegben. Klónozza az entitás referenciacsomópontot. A helyettesítő szöveg nem szerepel a szövegben.
Notation A jelölési csomópontok nem klónozhatnak. A jelölési csomópontok nem klónozhatnak.
Feldolgozási utasítás Klónozza a feldolgozási utasítás csomópontot, beleértve annak célját és adatait. Klónozza a feldolgozási utasítás csomópontot, beleértve annak célját és adatait.
JelentősHelyköz Klónozza a jelentős üres hely csomópontot, beleértve az adatértékét is. Klónozza a jelentős üres hely csomópontot, beleértve az adatértékét is.
Szöveg Klónozza a szöveges csomópontot, beleértve az adatértéket is. Klónozza a szöveges csomópontot, beleértve az adatértéket is.
Whitespace Klónozza a üres hely csomópontját, beleértve az adatértéket is. Klónozza a üres hely csomópontját, beleértve az adatértéket is.
XML-nyilatkozat Klónozza az XmlDeclaration csomópontot, beleértve az adatértéket is. Klónozza az XmlDeclaration csomópontot, beleértve az adatértéket is.
Minden más csomóponttípus. Ezeket a csomóponttípusokat nem lehet klónozni. Ezeket a csomóponttípusokat nem lehet klónozni.

A következőre érvényes: