Clonazione dei Nodi XML DOM

Esempio

Esempio di utilizzo del file XML books.xml.

Funzione loadXMLDoc()Posto all'esterno del JavaScript, utilizzato per caricare il file XML.

Copia di un nodo e aggiungerlo a un nodo esistente
In questo esempio, cloneNode() viene utilizzato per copiare un nodo e aggiungerlo al nodo radice del documento XML.

Copia del nodo

Il metodo cloneNode() crea una copia del nodo specificato.

Il metodo cloneNode() ha un parametro (true o false). Questo parametro indica se il nodo copiato include tutte le proprietà e i sotto-nodi del nodo originale.

Il seguente frammento di codice copia il primo nodo <book> e lo aggiunge al nodo radice del 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

Esempio di spiegazione:

  1. Utilizzando loadXMLDoc() Metti "books.xml"Carica xmlDoc"
  2. Ottieni il nodo da copiare
  3. Copia il nodo utilizzando il metodo cloneNode in "newNode"
  4. Aggiungi un nuovo nodo al nodo radice del documento XML
  5. Esportare tutti i title dal documento XML

TIY