最新的Web开发教程
 

XML DOM节点替换


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

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


试一试 - 示例

下面的例子使用XML文件的Books.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. 装载“ 的books.xml ”载入xmlDoc
  2. 创建一个新的元素节点<book>
  3. 创建一个新的元素节点<title>
  4. 与文本创建一个新的文本节点"A Notebook"
  5. 追加新文本节点的新元素节点<title>
  6. 追加新的元素节点<title>新元素节点<book>
  7. 替换第一个<book>的新元素节点<book>元素节点

替换数据文本节点

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

replaceData()方法有三个参数:

  • offset - 在何处开始替换字符。 偏移值从零开始
  • 长 - 有多少个字符替换
  • 字符串 - 要插入的字符串

xmlDoc=loadXMLDoc("books.xml");

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

x.replaceData(0,8,"Easy");
试一试»

例子解释:

  1. 装载“ 的books.xml ”载入xmlDoc
  2. 拿到第一的文本节点<title>元素节点
  3. 使用replaceData方法从文本节点替换前8个字符"Easy"

使用nodeValue属性相反

这是比较容易使用nodeValue属性文本节点来替换数据。

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

xmlDoc=loadXMLDoc("books.xml");

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

x.nodeValue="Easy Italian";
试一试»

例子解释:

  1. 装载“ 的books.xml ”载入xmlDoc
  2. 拿到第一的文本节点<title>元素节点
  3. 使用nodeValue属性来更改文本节点的文本

你可以阅读更多有关更改节点值更改节点章