XML DOM 教程
1. XML DOM 教程 2. XML DOM 简介 3. XML DOM – 节点 4. XML DOM – 节点树 5. XML DOM 解析器 6. XML DOM 加载函数 7. XML DOM 方法 8. XML DOM 访问节点 9. XML DOM 节点信息 10. XML DOM – 节点列表和命名节点图 11. XML DOM – 遍历节点树 12. XML DOM 浏览器差异 13. XML DOM – 导航节点 14. XML DOM – 获取节点值 15. XML DOM – 改变节点值 16. XML DOM – 删除节点 17. XML DOM – 替换节点 18. XML DOM – 创建节点 19. XML DOM – 添加节点 20. XML DOM – 克隆节点 21. XML DOM – HttpRequest 对象 22. XML DOM – 节点类型 23. XML DOM – Node 对象 24. XML DOM – NodeList 对象 25. XML DOM – NamedNodeMap 对象 26. XML DOM – Document 对象 27. XML DOM – DocumentImplementation 对象 28. XML DOM – DocumentType 对象 29. XML DOM – ProcessingInstruction 对象 30. XML DOM – Element 对象 31. XML DOM – Attr 对象 32. XML DOM – Text 对象 33. XML DOM – CDATASection 对象 34. XML DOM – Comment 对象 35. XML DOM Parse Error 对象 36. XML DOM 解析器错误 37. XML DOM 总结 38. XML DOM 实例 39. XML DOM – 验证 XML

XML DOM – 替换节点

XML DOM 替换节点


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

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


55面试教程网 - 实例

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

替换元素节点
本例使用 replaceChild() 来替换第一个 <book> 节点。

替换文本节点中的数据
本例使用 nodeValue 属性来替换文本节点中的数据。


替换元素节点

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

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

实例

xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement; // 创建新的 book 元素, title 元素及 node 节点 newNode=xmlDoc.createElement("book"); newTitle=xmlDoc.createElement("title"); newText=xmlDoc.createTextNode("A Notebook"); // 将 text 节点添加到 title 节点中 newTitle.appendChild(newText); // 将 title 节点添加到 book 节点中 newNode.appendChild(newTitle); y=xmlDoc.getElementsByTagName("book")[0] // 使用新节点替换第一个 book 节点 x.replaceChild(newNode,y);

55面试教程网 »

实例解释:

  1. 使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. 创建一个新的元素节点 <book>
  3. 创建一个新的元素节点 <title>
  4. 创建一个新的文本节点,带有文本 "A Notebook"
  5. 向新元素节点 <title> 追加这个新文本节点
  6. 向新元素节点 <book> 追加这个新元素节点 <title>
  7. 把第一个 <book> 元素节点替换为新的 <book> 元素节点

替换文本节点中的数据

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

replaceData() 方法有三个参数:

  • offset - 在何处开始替换字符。offset 值以 0 开始。
  • length - 要替换多少字符
  • string - 要插入的字符串

实例

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];

x.replaceData(0,8,"Easy");

55面试教程网 »

实例解释:

  1. 使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  2. 获取第一个 <title> 元素节点的文本节点
  3. 使用 replaceData 方法把文本节点的前 8 个字符替换为 "Easy"

使用 nodeValue 属性代替

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

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

实例

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];

x.nodeValue="Easy Italian";

55面试教程网 »

实例解释:

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

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