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("
");
}
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
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian
嘗試一下»
實例解釋:
- 使用loadXMLDoc()把" books.xml "載入xmlDoc中
- 獲取要復制的節點
- 使用cloneNode 方法把節點複製到"newNode" 中
- 向XML 文檔的根節點追加新的節點
- 輸出文檔中所有book 的所有title