如何删除lxml中的标签?

萨蒂亚迪蒂亚

首先,我关注了这个问题,但我仍然对 remove 方法有问题。

tag.getparent().remove(tag)

我使用这段代码删除了此网页中具有属性name="2" 和 id = "2" 的锚标记

当该行被执行时,我仍然能够看到标签及其属性,当我遍历所有孩子时,我仍然能够看到我删除的元素

remove 方法究竟做了什么,为什么被删除的标签仍然存在?

这是该行执行后调试器的屏幕截图。

在此处输入图片说明

祝福

当您从其父节点中删除节点时,该节点本身仍然存在,但只是与父节点分离。这允许您将“已删除”节点附加到不同的父节点。但是如果你不将节点附加到一个新的父节点,那么从根节点的角度来看,该节点是一个很好的删除节点。

为了保留被移除的标签节点的子节点,你可以像这样在相同的索引处将它们修剪到标签的父节点:

parent = tag.getparent()
index = parent.index(tag)
for child in tag.getchildren()[::-1]: # in reverse order so that we can keep inserting at the same index while preserving the original order
    tag.remove(child)
    parent.insert(index, child)
parent.remove(tag)

或者您可以简单地使用该drop_tag方法:

tag.drop_tag()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除lxml中的img标签

来自分类Dev

如何从pdf中删除标签

来自分类Dev

lxml删除标签内的未包装文本

来自分类Dev

lxml删除标签内的未包装文本

来自分类Dev

如何从角度路线中完全删除#标签?

来自分类Dev

如何从RSS feed中删除HTML标签?

来自分类Dev

如何从标签中删除数据

来自分类Dev

如何在Android Studio中删除标签

来自分类Dev

如何从最近的帖子中删除hr标签?

来自分类Dev

如何从标签中删除Git提交?

来自分类Dev

如何删除PHP中的HTML标签?

来自分类Dev

jQuery如何从锚中删除id标签

来自分类Dev

如何从javascript变量中删除标签

来自分类Dev

如何删除td标签中的空白?

来自分类Dev

如何从RSS feed中删除HTML标签?

来自分类Dev

如何从输入中删除类似XML的标签?

来自分类Dev

如何删除 Cloudinary Url 中的版本标签?

来自分类Dev

如何从标签外的html中删除文本?

来自分类Dev

从标签列表中删除引用时,如何从引用(cq:tags)中删除标签?

来自分类Dev

如何从Android中的VRPanorama View中删除信息标签

来自分类Dev

如何从java / GWT中的ckEditor中删除<p> .. </ p>标签?

来自分类Dev

如何从java / GWT中的ckEditor中删除<p> .. </ p>标签?

来自分类Dev

如何从数据框中随机删除每个标签中的行?

来自分类Dev

如何在本机反应中从responseJson中删除html标签?

来自分类Dev

如何从 CDN 中删除 CKEditor 中的段落标签

来自分类Dev

如何删除标签?

来自分类Dev

如何删除基本标签?

来自分类Dev

如何删除标签?

来自分类Dev

如何删除标签内容