XML DOM 克隆節(jié)點(diǎn)
嘗試一下 - 實(shí)例
下面的實(shí)例使用 XML 文件 books.xml。
函數(shù) loadXMLDoc(),位于外部 JavaScript 中,用于加載 XML 文件。
復(fù)制一個(gè)節(jié)點(diǎn),并把它追加到已有的節(jié)點(diǎn)
本例使用 cloneNode() 來(lái)復(fù)制一個(gè)節(jié)點(diǎn),并把它追加到 XML 文檔的根節(jié)點(diǎn)。
復(fù)制節(jié)點(diǎn)
cloneNode() 方法創(chuàng)建指定節(jié)點(diǎn)的副本。
cloneNode() 方法有一個(gè)參數(shù)(true 或 false)。該參數(shù)指示被克隆的節(jié)點(diǎn)是否包括原節(jié)點(diǎn)的所有屬性和子節(jié)點(diǎn)。
下面的代碼片段復(fù)制第一個(gè) <book> 節(jié)點(diǎn),并把它追加到文檔的根節(jié)點(diǎn):
實(shí)例
<!DOCTYPE html> <html> <head> <script src="loadxmldoc.js"> </script> </head> <body> <script> xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book')[0]; cloneNode=x.cloneNode(true); xmlDoc.documentElement.appendChild(cloneNode); //Output all titles y=xmlDoc.getElementsByTagName("title"); for (i=0;i<y.length;i++) { document.write(y[i].childNodes[0].nodeValue); document.write("<br>"); } </script> </body> </html>
運(yùn)行實(shí)例 ?
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例
實(shí)例解釋:
使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
獲取要復(fù)制的節(jié)點(diǎn)
使用 cloneNode 方法把節(jié)點(diǎn)復(fù)制到 "newNode" 中
向 XML 文檔的根節(jié)點(diǎn)追加新的節(jié)點(diǎn)
輸出文檔中所有 book 的所有 title