XML DOM 删除节点
removeChild() 方法删除指定的节点.
removeAttribute() 方法删除指定的属性.
尝试一下 - 实例
这些实例使用XML文件books.xml.
删除一个元素节点
本例使用removeChild()删除第一个<book>元素.
删除当前元素节点
本例使用parentNode和removeChild()删除当前<book>元素.
删除文本节点
本例使用removeChild()从第一个<title>元素中删除文本节点.
清除文本节点的文本
本例使用nodeValue()属性清除第一个<title> 元素的文本节点.
按名称删除属性
本例使用removeAttribute()从第一个<book>元素中删除"category"属性。
按对象删除属性
本例使用removeAttributeNode()从所有<book>元素中移除所有属性.
删除元素节点
removeChild() 方法删除指定的节点
移除节点时,其所有子节点也将移除。
此代码将从加载的xml中删除第一个<book>元素:
实例说明:
- 假设 "books.xml" 被加载到 xmlDoc 中
- 设置变量 y 为要移除的元素节点
- 使用removeChild()方法从父节点移除元素节点
删除自己-删除当前节点
removeChild() 方法是删除指定节点的唯一方法.
导航到要删除的节点后,可以使用parentNode属性和removeChild()方法删除该节点:
实例说明:
- 假设"books.xml"被加载到 xmlDoc 中
- 将变量y设置为要删除的元素节点
- 使用parentNode属性和removeChild()方法删除元素节点
删除文本节点
removeChild() 方法也可用于删除文本节点:
实例说明:
- 假设"books.xml"被加载到 xmlDoc 中
- 将变量x设置为第一个标题元素节点
- 将变量y设置为要删除的文本节点
- 使用removeChild()方法从父节点移除元素节点
使用removeChild()仅从节点中删除文本并不常见。可以改用nodeValue属性。见下一段。
清除文本节点
nodeValue 属性可用于更改文本节点的值:
实例说明:
- 假设"books.xml"被加载到 xmlDoc 中
- 获取第一个title元素的第一个子节点。
- 使用nodeValue属性清除文本节点中的文本
按名称移除属性节点
removeAttribute() 方法按属性节点的名称删除属性节点。
实例: removeAttribute('category')
此代码删除第一个<book>元素中的"category"属性:
实例说明:
- 假设"books.xml"被加载到 xmlDoc 中
- 使用 getElementsByTagName() 获取书本节点
- 从第一个book元素节点删除"category"属性
循环并删除所有
按对象移除属性节点
removeAttributeNode() 方法使用节点对象作为参数,删除属性节点。
实例: removeAttributeNode(x)
此代码删除所有<book>元素的所有属性:
实例
x = xmlDoc.getElementsByTagName("book");
for (i = 0; i < x.length; i++)
{
while (x[i].attributes.length > 0) {
attnode = x[i].attributes[0];
old_att = x[i].removeAttributeNode(attnode);
}
}
尝试一下 »
实例说明:
- 假设"books.xml"被加载到 xmlDoc 中
- 使用 getElementsByTagName() 获取所有图书节点
- 对于每个book元素,检查是否有任何属性
- 当book元素中有属性时,删除该属性