XML DOM 替换节点
replaceChild() 方法替换指定的节点。
nodeValue 属性替换文本节点中的文本。
替换元素节点
replaceChild() 方法用于替换节点。
以下代码片段替换第一个 <book> 元素
示例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
// 创建一个 book 元素、title 元素和一个文本节点
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
// 将文本节点添加到 title 节点中,
newTitle.appendChild(newText);
// 将 title 节点添加到 book 节点中
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0]
// 用新节点替换第一个 book 节点
x.replaceChild(newNode,y);
自己尝试 »
示例解释
- 将 books.xml 加载到 xmlDoc 中
- 创建一个新的元素节点 <book>
- 创建一个新的元素节点 <title>
- 创建一个新的文本节点,其文本为 "A Notebook"
- 将新的文本节点追加到新的元素节点 <title> 中
- 将新的元素节点 <title> 追加到新的元素节点 <book> 中
- 用新的 <book> 元素节点替换第一个 <book> 元素节点
替换文本节点中的数据
replaceData() 方法用于替换文本节点中的数据。
replaceData() 方法具有三个参数
- offset - 从哪里开始替换字符。偏移量值从零开始
- length - 要替换多少个字符
- string - 要插入的字符串
示例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
自己尝试 »
示例解释
- 将 books.xml 加载到 xmlDoc 中
- 获取第一个 <title> 元素节点的文本节点
- 使用 replaceData 方法将文本节点的前八个字符替换为 "Easy"
改为使用 nodeValue 属性
使用 nodeValue 属性替换文本节点中的数据更简单。
以下代码片段将第一个 <title> 元素中的文本节点值替换为 "Easy Italian"
示例
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
自己尝试 »
示例解释
- 将 books.xml 加载到 xmlDoc 中
- 获取第一个 <title> 元素节点的文本节点
- 使用 nodeValue 属性更改文本节点的文本
您可以在 更改节点章节 中了解更多有关更改节点值的信息。