课程表

XML DOM 基础

XML DOM 节点操作

XML DOM 参考手册

XML DOM 实例

工具箱
速查手册

DOM 替换节点

当前位置:免费教程 » XML相关 » XML DOM

replaceChild() 方法替换指定节点。

nodeValue 属性替换文本节点中的文本。

实例

下面的例子使用 XML 文件 books.xml

函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。

替换元素节点
本例使用 replaceChild() 来替换第一个 <book> 节点。
替换文本节点中的数据
本例使用 nodeValue 属性来替换文本节点中的数据。

替换元素节点

replaceChild() 方法用于替换节点。

下面的代码片段替换第一个 <book> 元素:

  1. xmlDoc=loadXMLDoc("books.xml");
  2.  
  3. x=xmlDoc.documentElement;
  4.  
  5. //创建一个 book 元素、一个 title 元素,以及一个 text 节点
  6. newNode=xmlDoc.createElement("book");
  7. newTitle=xmlDoc.createElement("title");
  8. newText=xmlDoc.createTextNode("Hello World");
  9.  
  10. //向 title 节点添加文本节点
  11. newTitle.appendChild(newText);
  12.  
  13. //向 book 节点添加 title 节点
  14. newNode.appendChild(newTitle);
  15.  
  16. y=xmlDoc.getElementsByTagName("book")[0];
  17.  
  18. //用这个新节点替换第一个 book 节点
  19. x.replaceChild(newNode,y);

例子解释:

  • 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  • 创建一个新的元素节点 <book>
  • 创建一个新的元素节点 <title>
  • 创建一个新的文本节点,带有文本 "Hello World"
  • 向新元素节点 <title> 追加这个新文本节点
  • 向新元素节点 <book> 追加这个新元素节点 <title>
  • 用新的 <book> 元素节点替换第一个 <book> 元素节点

TIY

替换文本节点中的数据

replaceData() 方法用于替换文本节点中的数据。

replaceData() 方法有三个参数:

  • offset - 在何处开始替换字符。Offset 值以 0 开始。
  • length - 要替换多少字符
  • string - 要插入的字符串
  1. xmlDoc=loadXMLDoc("books.xml");
  2.  
  3. x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
  4.  
  5. x.replaceData(0,8,"hello");

例子解释:

  • 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  • 获取第一个 <title> 元素节点的文本节点
  • 使用 replaceDat 方法把文本节点的前 8 个字符替换为 "hello"

TIY

使用 nodeValue 属性

用 nodeValue 属性来替换文本节点中数据会更加容易。

下面的代码片段将用 "Easy Italian" 替换第一个 <title> 元素中的文本节点值:

  1. xmlDoc=loadXMLDoc("books.xml");
  2.  
  3. x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
  4.  
  5. x.nodeValue="Hello World";

例子解释:

  • 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  • 获取第一个 <title> 元素节点的文本节点
  • 使用 nodeValue 属性来更改这个文本节点的文本

TIY

您可以在 改变节点 这一节中阅读更多有关更改节点值的内容。

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号