XmlDocumentFragment.CloneNode(Boolean) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea un duplicato di questo nodo.
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
Parametri
- deep
- Boolean
true per clonare in modo ricorsivo il sottoalbero sotto il nodo specificato; false per clonare solo il nodo stesso.
Restituisce
Nodo clonato.
Esempio
L'esempio seguente mostra la differenza tra un clone profondo e superficiale.
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
// Create the XmlDocument.
XmlDocument doc = new XmlDocument();
doc.LoadXml("<items/>");
// Create a document fragment.
XmlDocumentFragment docFrag = doc.CreateDocumentFragment();
// Set the contents of the document fragment.
docFrag.InnerXml ="<item>widget</item>";
// Create a deep clone. The cloned node
// includes child nodes.
XmlNode deep = docFrag.CloneNode(true);
Console.WriteLine("Name: " + deep.Name);
Console.WriteLine("OuterXml: " + deep.OuterXml);
// Create a shallow clone. The cloned node does
// not include any child nodes.
XmlNode shallow = docFrag.CloneNode(false);
Console.WriteLine("Name: " + shallow.Name);
Console.WriteLine("OuterXml: " + shallow.OuterXml);
}
}
Imports System.IO
Imports System.Xml
public class Sample
public shared sub Main()
' Create the XmlDocument.
Dim doc as XmlDocument = new XmlDocument()
doc.LoadXml("<items/>")
' Create a document fragment.
Dim docFrag as XmlDocumentFragment = doc.CreateDocumentFragment()
' Set the contents of the document fragment.
docFrag.InnerXml ="<item>widget</item>"
' Create a deep clone. The cloned node
' includes child nodes.
Dim deep as XmlNode = docFrag.CloneNode(true)
Console.WriteLine("Name: " + deep.Name)
Console.WriteLine("OuterXml: " + deep.OuterXml)
' Create a shallow clone. The cloned node does
' not include any child nodes.
Dim shallow as XmlNode = docFrag.CloneNode(false)
Console.WriteLine("Name: " + shallow.Name)
Console.WriteLine("OuterXml: " + shallow.OuterXml)
end sub
end class
Commenti
CloneNode funge da costruttore di copia per i nodi. Per informazioni sul comportamento di questo metodo con altri tipi di nodo, vedere XmlNode.CloneNode.
Il nodo clonato non ha un elemento padre (ParentNode restituisce null).