我有一个包含<p>
元素和尾部的元素。
例如:
<p>Content that I want to keep</p>content that I want removed
我注意到需要删除的内容在尾部,我认为有一种简单的方法可以使用etree从元素中删除尾部。
我怎么能这样做?
答案 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