XML DOM 替换节点
XML DOM replaceChild() 方法用于替换指定元素节点
替换元素节点
XML DOM replaceChild() 方法用于替换指定节点
下面的 JavaScript 脚本替换了第一个 <book> 元素
xmlDoc=loadXMLDoc("/static/media/dom/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);
-
使用
loadXMLDoc()
函数把 "/static/media/dom/books.xml" 载入 xmlDoc 中 -
创建一个新的元素节点 <book>
-
创建一个新的元素节点 <title>
-
创建一个新的文本节点,带有文本 "A Notebook"
-
向新元素节点 <title> 追加这个新文本节点
-
向新元素节点 <book> 追加这个新元素节点 <title>
-
把第一个 <book> 元素节点替换为新的 <book> 元素节点
替换文本节点中的数据
XML DOM replaceData() 方法用于替换文本节点中的数据
replaceData() 方法有三个参数:
- offset - 在何处开始替换字符,offset 值以 0 开始
- length - 要替换多少字符
- string - 要插入的字符串
xmlDoc=loadXMLDoc("/static/media/dom/books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.replaceData(0,8,"Easy");
-
使用
loadXMLDoc()
函数把 "/static/media/dom/books.xml" 载入 xmlDoc 中 -
获取第一个 <title> 元素节点的文本节点
- 使用 replaceData 方法把文本节点的前 8 个字符替换为 "Easy"
使用 nodeValue 属性代替
用 nodeValue 属性来替换文本节点中数据会更加容易
下面的 JavaScript 代码用 "Easy Italian" 替换第一个 <title> 元素中的文本节点值
xmlDoc=loadXMLDoc("/static/media/dom/books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Easy Italian";
-
使用
loadXMLDoc()
函数把 "/static/media/dom/books.xml" 载入 xmlDoc 中 -
获取第一个 <title> 元素节点的文本节点
-
使用 nodeValue 属性来更改这个文本节点的文本
我们可以在 改变节点 中学习到更多有关更改节点值的内容