Clonagem de Nós XML DOM

Exemplo

O exemplo a seguir usa o arquivo XML books.xml.

Função loadXMLDoc()localizado no JavaScript externo, usado para carregar o arquivo XML.

Copiar um nó e adicioná-lo a um nó existente
Este exemplo usa cloneNode() para copiar um nó e adicioná-lo ao nó raiz do documento XML.

Copiar nó

O método cloneNode() cria uma cópia do nó especificado.

O método cloneNode() tem um parâmetro (true ou false). Este parâmetro indica se o nó copiado inclui todas as propriedades e subnós do nó original.

O seguinte fragmento de código copia o primeiro nó <book> e o adiciona ao nó raiz do documento:

xmlDoc=loadXMLDoc("books.xml");
oldNode=xmlDoc.getElementsByTagName('book')[0];
newNode=oldNode.cloneNode(true);
xmlDoc.documentElement.appendChild(newNode);
//Output all titles
y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
{
document.write(y[i].childNodes[0].nodeValue);
document.write("<br />");
}

Output:

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML
Harry Potter

Exemplo de explicação:

  1. Usando loadXMLDoc() Colocar "books.xml" Carregar xmlDoc
  2. Obter o nó a ser copiado
  3. Copiar o nó para "newNode" usando o método cloneNode
  4. Adicionar novos nós ao nó raiz do documento XML
  5. Output todos os titles do documento XML

TIY