如何使用lxml删除不在标签中的文本?

2024-04-25 05:35:01 发布

您现在位置:Python中文网/ 问答频道 /正文

现在我得到了如下xml:

<div>
<p>the first paragraph</p>
<p>the sencond paragraph</p>
something others...
</div>

我想把这些东西去掉。。。来自对象content。在

我知道可以使用content.xpath('.//text()[not(ancestor::p)]')来获得它,但直接从对象中删除这些文本似乎不是一个好方法。在


更新:我尝试了//p[last()]/following::*,它没有按我想要的方式工作。。。在


Tags: the对象text文本divnotxmlcontent
1条回答
网友
1楼 · 发布于 2024-04-25 05:35:01

它们存储在前一个同级标记的tail属性中,因此要删除所有这些“something others…”请执行以下操作:

for elem in document.iter():
    elem.tail = ''

编辑

要删除文档中每个最后一个同级的尾部文本:

^{pr2}$

相关问题 更多 >