python删除xml某个节点_XML DOM

XML DOM 删除节点

removeChild() 方法删除指定节点。

removeAttribute() 方法删除指定属性。

尝试一下 - 实例

下面的实例使用 XML 文件 books.xml。

函数 loadXMLDoc(),位于外部 JavaScript 中,用于加载 XML 文件。

删除元素节点

本例使用 removeChild() 来删除第一个 元素。

删除当前元素节点

本例使用 parentNode 和 removeChild() 来删除当前的 元素。

删除文本节点

本例使用 removeChild() 来删除第一个

元素的文本节点。

清空文本节点的文本

本例使用 nodeValue() 属性来清空第一个

元素的文本节点。

根据名称删除属性

本例使用 removeAttribute() 从第一个 元素中删除 "category" 属性。

根据对象删除属性

本例使用 removeAttributeNode() 从所有 元素中删除所有属性。

删除元素节点

removeChild() 方法删除指定的节点。

当一个节点被删除时,其所有子节点也会被删除。

下面的代码片段将从载入的 xml 中删除第一个 元素:

实例

xmlDoc=loadXMLDoc("books.xml");

y=xmlDoc.getElementsByTagName("book")[0];

xmlDoc.documentElement.removeChild(y);

尝试一下 »

实例解释:

把变量 y 设置为要删除的元素节点

通过使用 removeChild() 方法从父节点删除元素节点

删除自身 - 删除当前的节点

removeChild() 方法是唯一可以删除指定节点的方法。

当您已导航到需要删除的节点时,就可以通过使用 parentNode 属性和 removeChild() 方法来删除此节点:

实例

xmlDoc=loadXMLDoc("books.xml");

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

x.parentNode.removeChild(x);

尝试一下 »

实例解释:

把变量 y 设置为要删除的元素节点

通过使用 parentNode 属性和 removeChild() 方法来删除此元素节点

删除文本节点

removeChild() 方法可用于删除文本节点:

实例

xmlDoc=loadXMLDoc("books.xml");

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

y=x.childNodes[0];

x.removeChild(y);

尝试一下 »

实例解释:

把变量 x 设置为第一个 title 元素节点

把变量 y 设置为要删除的文本节点

通过使用 removeChild() 方法从父节点删除元素节点

不太常用 removeChild() 从节点删除文本。可以使用 nodeValue 属性代替它。请看下一段。

清空文本节点

nodeValue 属性可用于改变或清空文本节点的值:

实例

xmlDoc=loadXMLDoc("books.xml");

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

x.nodeValue="";

尝试一下 »

实例解释:

把变量 x 设置为第一个 title 元素的文本节点

使用 nodeValue 属性来清空文本节点的文本

遍历并更改所有

元素的文本节点:

尝试一下

根据名称删除属性节点

removeAttribute(name) 方法用于根据名称删除属性节点。

实例:removeAttribute('category')

下面的代码片段删除第一个 元素中的 "category" 属性:

实例

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book");

x[0].removeAttribute("category");

尝试一下 »

实例解释:

使用 getElementsByTagName() 来获取 book 节点

从第一个 book 元素节点中删除 "category" 属性

遍历并删除所有 元素的 "category" 属性:

尝试一下

根据对象删除属性节点

removeAttributeNode(node) 方法通过使用 node 对象作为参数,来删除属性节点。

实例: removeAttributeNode(x)

下面的代码片段删除所有 元素的所有属性:

实例

xmlDoc=loadXMLDoc("books.xml");x=xmlDoc.getElementsByTagName("book");for(i=0;i0){attnode=x[i].attributes[0];old_att=x[i].removeAttributeNode(attnode);}}

尝试一下 »

实例解释:

使用 getElementsByTagName() 来获取所有 book 节点

检查每个 book 元素是否拥有属性

如果在某个 book 元素中存在属性,则删除该属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值