XML DOM 克隆節(jié)點


tryitimg.gif嘗試一下 - 實例


下面的實例使用 XML 文件 books.xml。
函數(shù) loadXMLDoc(),位于外部 JavaScript 中,用于加載 XML 文件。

復制一個節(jié)點,并把它追加到已有的節(jié)點
本例使用 cloneNode() 來復制一個節(jié)點,并把它追加到 XML 文檔的根節(jié)點。


復制節(jié)點

cloneNode() 方法創(chuàng)建指定節(jié)點的副本。

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

下面的代碼片段復制第一個 <book> 節(jié)點,并把它追加到文檔的根節(jié)點:

實例

<!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>

運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

實例解釋:

  1. 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中

  2. 獲取要復制的節(jié)點

  3. 使用 cloneNode 方法把節(jié)點復制到 "newNode" 中

  4. 向 XML 文檔的根節(jié)點追加新的節(jié)點

  5. 輸出文檔中所有 book 的所有 title