Clonage des nœuds XML DOM

Exemple

L'exemple suivant utilise un fichier XML books.xml.

Fonction loadXMLDoc()qui se trouve dans JavaScript externe, utilisé pour charger un fichier XML.

Copier un noeud et le concaténer à un noeud existant
Dans cet exemple, cloneNode() est utilisé pour copier un noeud et le concaténer au noeud racine du document XML.

Copier un noeud

La méthode cloneNode() crée une copie du noeud spécifié.

La méthode cloneNode() a un paramètre (true ou false). Ce paramètre indique si le noeud copié inclut toutes les propriétés et sous-nœuds du noeud original.

Le fragment de code suivant copie le premier noeud <book> et le concatène au noeud racine du document :

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

Sortie :

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML
Harry Potter

Exemple d'explication :

  1. En utilisant loadXMLDoc() Mettre "books.xml"Charger xmlDoc"
  2. Obtenir le nœud à copier
  3. Copier le nœud vers "newNode" en utilisant la méthode cloneNode
  4. Ajouter un nouveau nœud au noeud racine du document XML
  5. Sortir tous les titres du document XML

TIY