XML DOM 克隆節(jié)點
實例
下面的例子使用 XML 文件 books.xml。
函數(shù) loadXMLDoc(),位于外部 JavaScript 中,用于加載 XML 文件。
- 復(fù)制一個節(jié)點,并把它追加到已有的節(jié)點
- 本例使用 cloneNode() 來復(fù)制一個節(jié)點,并把它追加到 XML 文檔的根節(jié)點。
復(fù)制節(jié)點
cloneNode() 方法創(chuàng)建指定節(jié)點的副本。
cloneNode() 方法有一個參數(shù)(true 或 false)。該參數(shù)指示被復(fù)制的節(jié)點是否包括原節(jié)點的所有屬性和子節(jié)點。
下面的代碼片段拷貝第一個 <book> 節(jié)點,并把它追加到文檔的根節(jié)點:
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
例子解釋:
- 通過使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
- 獲取要復(fù)制的節(jié)點
- 通過使用 cloneNode 方法把節(jié)點復(fù)制到 "newNode" 中
- 向 XML 文檔的根節(jié)點追加新節(jié)點
- 輸出文檔中所有 book 的 title