XML DOM 克隆节点


实例

尝试一下 - 实例

下面的实例使用 XML 文件 books.xml
函数 loadXMLDoc() ,位于外部 JavaScript 中,用于加载 XML 文件。

复制一个节点,并把它追加到已有的节点
本例使用 cloneNode() 来复制一个节点,并把它追加到 XML 文档的根节点。


复制节点

cloneNode() 方法创建指定节点的副本。

cloneNode() 方法有一个参数(true 或 false)。该参数指示被克隆的节点是否包括原节点的所有属性和子节点。

下面的代码片段复制第一个 <book> 节点,并把它追加到文档的根节点:

实例

xmlDoc = loadXMLDoc ( " books.xml " ) ; x = xmlDoc . getElementsByTagName ( ' book ' ) [ ] ; cloneNode = x . cloneNode ( true ) ; xmlDoc . documentElement . appendChild ( cloneNode ) ; // 输出所有 title 节点文本值 y = xmlDoc . getElementsByTagName ( " title " ) ; for ( i = ; i < y . length ; i ++ ) { document . write ( y [ i ] . childNodes [ ] . nodeValue ) ; document . write ( " <br> " ) ; }

输出:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian

尝试一下 »

实例解释:

  1. 使用 loadXMLDoc() 把 " books.xml " 载入 xmlDoc 中
  2. 获取要复制的节点
  3. 使用 cloneNode 方法把节点复制到 "newNode" 中
  4. 向 XML 文档的根节点追加新的节点
  5. 输出文档中所有 book 的所有 title