XML DOM solmun kloonaus

Esimerkki

Seuraava esimerkki käyttää XML-tiedostoa books.xml.

Funktiota loadXMLDoc()Ulkoisessa JavaScriptissä, käytetään XML-tiedoston lataamiseen.

Kopioi solmu ja lisää se olemassa olevaan solmuun
Tässä esimerkissä käytetään cloneNode() -menetelmää solmun kopiointiin ja lisäämään se XML-dokumentin juurisolmuna.

Solmun kopiointi

cloneNode() -menetelmä luo määritetyn solmun kopioksi.

cloneNode() -menetelmällä on yksi parametri (true tai false). Tämä parametri viittaa siihen, sisältääkö kopioitu solmu kaikki alkuperäisen solmun ominaisuudet ja lapsisolmut.

Seuraava koodin osa kopioi ensimmäisen <book> -solmun ja lisää sen dokumentin juurisolmuna:

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

Tulostus:

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML
Harry Potter

Esimerkki selityksestä:

  1. Käyttämällä loadXMLDoc() Lisää "books.xml" Lataa xmlDoc:iin
  2. Hanki kopioidtava solmu
  3. Kopioi solmu "newNode"-muuttujaan käyttämällä cloneNode-metodia
  4. Lisää uusi solmu XML-dokumentin juurisolmuun
  5. Tulosta dokumentin kaikkien book solmujen title

TIY