XML DOM 克隆節點


實例

嘗試一下 - 實例

下麵的實例使用 XML 檔 books.xml
函數 loadXMLDoc(),位於外部 JavaScript 中,用於加載 XML 檔。


本例使用 cloneNode() 來複製一個節點,並把它追加到 XML 文檔的根節點。


複製節點

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

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

下麵的代碼片段複製第一個 <book> 節點,並把它追加到文檔的根節點:

實例

xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book')[0]; cloneNode=x.cloneNode(true); xmlDoc.documentElement.appendChild(cloneNode); // 輸出所有 title 節點文本值 y=xmlDoc.getElementsByTagName("title"); for (i=0;i<y.length;i++) { document.write(y[i].childNodes[0].nodeValue); document.write("<br>"); }

輸出:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian

實例解釋:

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