XML DOM clone node

Exempel

Följande exempel använder en XML-fil books.xml.

Funktion loadXMLDoc()Ligger utanför JavaScript, används för att ladda XML-filer.

Kopiera en nod och lägg till den till en befintlig nod
Detta exempel använder cloneNode() för att kopiera en nod och lägga till den till XML-dokumentets rotnod.

Kopiera en nod

cloneNode() metoden skapar en kopia av den angivna noden.

cloneNode() metoden har en parameter (true eller false). Parametern indikerar om den kopian av noden inkluderar alla egenskaper och undernoder från den ursprungliga noden.

Följande kodfragment kopierar den första <book>-noden och lägger till den till dokumentets rotnod:

xmlDoc=loadXMLDoc("books.xml");
oldNode=xmlDoc.getElementsByTagName('book')[0];
newNode=oldNode.cloneNode(true);
xmlDoc.documentElement.appendChild(newNode);
//Output alla titlar
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

Exempel förklaring:

  1. Genom att använda loadXMLDoc() Lägg till "books.xml"Ladda xmlDoc"
  2. Hämta noden som ska kopieras
  3. Kopiera noden till "newNode" genom att använda cloneNode-metoden
  4. Lägg till en ny nod till roddoden i XML-dokumentet
  5. Output alla title i dokumentet

TIY