Método XML DOM cloneNode()
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