XML DOM 替换节点

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

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

尝试一下 - 实例

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

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

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

替换元素节点

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

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

实例

xmlDoc=loadXMLDoc("books.xml");

 x=xmlDoc.documentElement;

 //create a book element, title element and a text node
 newNode=xmlDoc.createElement("book");
 newTitle=xmlDoc.createElement("title");
 newText=xmlDoc.createTextNode("A Notebook");

 //add the text node to the title node,
 newTitle.appendChild(newText);
 //add the title node to the book node
 newNode.appendChild(newTitle);

 y=xmlDoc.getElementsByTagName("book")[0]
 //replace the first book node with the new node
 x.replaceChild(newNode,y);
尝试一下 »

实例解释:

  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");
尝试一下 »

实例解释:

  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";
尝试一下 »

实例解释:

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

  2. 获取第一个 <title> 元素节点的文本节点

  3. 使用 nodeValue 属性来更改这个文本节点的文本

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

新闻动态 联系方式 广告合作 招聘英才 安科实验室 帮助与反馈 About Us

Copyright © 2013 - 2019 Ancii.com All Rights Reserved京ICP备18063983号-5 京公网安备11010802014868号