XML DOM – 克隆節(jié)點(diǎn)

2018-02-11 16:59 更新

XML DOM 克隆節(jié)點(diǎn)

通過(guò)使用 cloneNode() 方法,你可以創(chuàng)建指定節(jié)點(diǎn)的副本,即克隆節(jié)點(diǎn)。 

實(shí)例

嘗試一下 - 實(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í)例

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

嘗試一下 ?

實(shí)例解釋:

  1. 使用 loadXMLDoc() 把 "books.xml" 載入 xmlDoc 中
  2. 獲取要復(fù)制的節(jié)點(diǎn)
  3. 使用 cloneNode 方法把節(jié)點(diǎn)復(fù)制到 "newNode" 中
  4. 向 XML 文檔的根節(jié)點(diǎn)追加新的節(jié)點(diǎn)
  5. 輸出文檔中所有 book 的所有 title
以上就是與 DOM 克隆節(jié)點(diǎn)相關(guān)的內(nèi)容了,并且到本節(jié)為止,有關(guān) XML DOM 節(jié)點(diǎn)的操作也講解的差不多了,從下一節(jié)開始,你將會(huì)學(xué)習(xí)到 XML DOM 中的相關(guān)對(duì)象的使用。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)