XML DOM 克隆節點

實例

下面的例子使用 XML 文件 books.xml

函數 loadXMLDoc(),位于外部 JavaScript 中,用于加載 XML 文件。

復制一個節點,并把它追加到已有的節點
本例使用 cloneNode() 來復制一個節點,并把它追加到 XML 文檔的根節點。

復制節點

cloneNode() 方法創建指定節點的副本。

cloneNode() 方法有一個參數(true 或 false)。該參數指示被復制的節點是否包括原節點的所有屬性和子節點。

下面的代碼片段拷貝第一個 <book> 節點,并把它追加到文檔的根節點:

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 />");
}

輸出:

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML
Harry Potter

例子解釋:

  1. 通過使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
  2. 獲取要復制的節點
  3. 通過使用 cloneNode 方法把節點復制到 "newNode" 中
  4. 向 XML 文檔的根節點追加新節點
  5. 輸出文檔中所有 book 的 title

TIY