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("一本新书"); // 将文本节点添加到 title 节点 newTitle.appendChild(newText); // 将这个 title 节点添加到 book 节点 newNode.appendChild(newTitle); y=xmlDoc.getElementsByTagName("book")[0] // 用新节点替换第一个 book 节点 x.replaceChild(newNode,y);
例子解释:
- 将 books.xml 加载到
xmlDoc
中 - 创建新的元素节点 <book>
- 创建新的元素节点 <title>
- 创建新的文本节点,其中包含文本 "一本新书"
- 将这个新的文本节点追加到新的元素节点 <title>
- 将这个新的元素节点 <title> 追加到新的元素节点 <book>
- 将第一个 <book> 元素节点替换为新的 <book> 元素节点
替换文本节点中的数据
replaceData()
方法用于替换文本节点中的数据。
replaceData()
方法有三个参数:
- offset - 从哪里开始替换字符。偏移值从零开始
- length - 要替换的字符数
- string - 要插入的字符串
实例
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.replaceData(0,4,"一本新书");
例子解释:
- 将 books.xml 加载到
xmlDoc
中 - 获取第一个 <title> 元素节点的文本节点
- 使用
replaceData()
方法将文本节点的前八个字符替换为 "一本新书"
使用 nodeValue 属性代替
使用 nodeValue
属性更容易替换文本节点中的数据。
下面的代码片段将用 "一本新书" 替换第一个 <title> 元素中的文本节点值:
实例
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="一本新书";
例子解释:
- 将 books.xml 加载到
xmlDoc
中 - 获取第一个 <title> 元素节点的文本节点
- 使用
nodeValue
属性来更改文本节点的文本
您可以在 改变节点 这一章中阅读有关更改节点值的更多内容。