Método cloneNode() do XML DOM

Manual de referência do objeto Node

Definição e uso

O método cloneNode() pode criar uma cópia exata do nó especificado.

Este método pode retornar o nó copiado.

Sintaxe:

nodeObject.cloneNode(include_all)
Parâmetro Descrição
include_all Obrigatório. Se o parâmetro lógico for configurado como verdadeiro, o nó clonado cloningá todos os subnós do nó original.

Retorno

Cópia do nó atual.

Descrição

Este método copia e retorna uma cópia do nó chamado. Se o parâmetro passado para ele for true, ele também copiará recursivamente todos os descendentes do nó atual. Caso contrário, ele apenas copiará o nó atual.

O nó retornado não pertence à árvore do documento, sua propriedade parentNode é null.

Quando se copia um nó Elemento, todas as suas propriedades serão copiadas. No entanto, é importante notar que os funções de ouvinte de eventos registrados no nó atual não serão copiadas.

Exemplo

Em todos os exemplos, usaremos o arquivo XML books.xml, bem como as funções JavaScript loadXMLDoc().

O seguinte trecho de código pode clonar o primeiro nó <book> e adicioná-lo ao final da lista de nós:

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

Saída:

Everyday Italian
Harry Potter
XQuery Kick Start
Aprender XML
Everyday Italian

Manual de referência do objeto Node