XmlElement.CloneNode(Boolean) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un duplicado de este 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
Parámetros
- deep
- Boolean
true
para clonar de forma recursiva el subárbol del nodo especificado; false
solo para clonar el nodo en sí (y sus atributos si el nodo es XmlElement
).
Devoluciones
Nodo clonado.
Ejemplos
En el ejemplo siguiente se crea un nuevo elemento, se clona y, a continuación, se agregan ambos elementos a un documento XML.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlDocument^ doc = gcnew XmlDocument;
doc->Load( "2books.xml" );
// Create a new element.
XmlElement^ elem = doc->CreateElement( "misc" );
elem->InnerText = "hardcover";
elem->SetAttribute( "publisher", "WorldWide Publishing" );
// Clone the element so we can add one to each of the book nodes.
XmlNode^ elem2 = elem->CloneNode( true );
// Add the new elements.
doc->DocumentElement->FirstChild->AppendChild( elem );
doc->DocumentElement->LastChild->AppendChild( elem2 );
Console::WriteLine( "Display the modified XML..." );
doc->Save( Console::Out );
}
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlDocument doc = new XmlDocument();
doc.Load("2books.xml");
// Create a new element.
XmlElement elem = doc.CreateElement("misc");
elem.InnerText = "hardcover";
elem.SetAttribute("publisher", "WorldWide Publishing");
// Clone the element so we can add one to each of the book nodes.
XmlNode elem2 = elem.CloneNode(true);
// Add the new elements.
doc.DocumentElement.FirstChild.AppendChild(elem);
doc.DocumentElement.LastChild.AppendChild(elem2);
Console.WriteLine("Display the modified XML...");
doc.Save(Console.Out);
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim doc As New XmlDocument()
doc.Load("2books.xml")
' Create a new element.
Dim elem As XmlElement = doc.CreateElement("misc")
elem.InnerText = "hardcover"
elem.SetAttribute("publisher", "WorldWide Publishing")
' Clone the element so we can add one to each of the book nodes.
Dim elem2 As XmlNode = elem.CloneNode(True)
' Add the new elements.
doc.DocumentElement.FirstChild.AppendChild(elem)
doc.DocumentElement.LastChild.AppendChild(elem2)
Console.WriteLine("Display the modified XML...")
doc.Save(Console.Out)
End Sub
End Class
Comentarios
Este método actúa como constructor de copia para los nodos. El nodo duplicado no tiene ningún elemento primario (ParentNode devuelve null
).