Latest web development tutorials

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

輸出:

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