Python lxml etree从元素中删除尾部

时间:2016-01-18 11:29:45

标签: python elementtree

我有一个包含<p>元素和尾部的元素。

例如:
<p>Content that I want to keep</p>content that I want removed

我注意到需要删除的内容在尾部,我认为有一种简单的方法可以使用etree从元素中删除尾部。

我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

经过几个小时的工作后,答案就出现了。 (当然在发布问题后)

我只是将尾巴设置为无:

element = root.xpath("path/to/element")
element[0].tail = None
string = tostring(element[0])

它有效。

答案 1 :(得分:0)

旧问题,但是对于其他寻求答案的人来说,如果目标是“删除尾部以调用etree.tostring()”,则无需修改树:

https://lxml.de/api/lxml.etree-module.html#tostring

string = tostring(element[0], with_tail=False)

答案 2 :(得分:-1)

使用lxml包中的elementsoup

#!/usr/bin/env python

from lxml.html.soupparser import fromstring

s = """<p>Content that I want to keep</p>content that I want removed"""

print fromstring(s).find('.//p').text
相关问题