Método XML DOM cloneNode()

Manual de referencia del objeto Node

Definición y uso

El método cloneNode() puede crear una copia exacta del nodo especificado.

Este método puede devolver el nodo copiado.

Sintaxis:

nodeObject.cloneNode(include_all)
Parámetro Descripción
include_all Obligatorio. Si el parámetro lógico se establece en true, los nodos clonados clones todos los subnodos del nodo original.

Valor devuelto

Copia del nodo actual.

Descripción

Este método copiará y devolverá una copia del nodo desde el que se llama. Si se le pasa como parámetro true, también se copiarán recursivamente todos los descendientes del nodo actual. De lo contrario, solo se copiará el nodo actual.

El nodo devuelto no pertenece al árbol del documento, su atributo parentNode es null.

Cuando se copia un nodo Elemento, todos sus atributos se copiarán. Sin embargo, hay que tener en cuenta que las funciones de escucha de eventos registradas en el nodo actual no se copiarán.

Ejemplo

En todos los ejemplos, utilizaremos el archivo XML books.xmly las funciones de JavaScript loadXMLDoc().

El siguiente fragmento de código puede clonar el primer nodo <book> y agregarlo al final de la lista de nodos:

xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName('book')[0];
var cloneNode=x.cloneNode(true);
xmlDoc.documentElement.appendChild(cloneNode);
//Salida de todos los títulos
var y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
  {
  document.write(y[i].childNodes[0].nodeValue);
  document.write("<br />");
  }

Salida:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian

Manual de referencia del objeto Node