你如何获得根元素下的所有内容?

How do you get everything under the root element?

我正在使用 etree 清理一些 html。我意识到我必须有一个根标签来保存所有元素,但我想 return 没有根的字符串。有什么办法吗

from lxml import etree

fragment = etree.fromstring("<fragment>text1 <a>tex2 </a>text3<b>text4</b> <c>text 5</c>text 6<span style=''> Style</span></fragment>")
delete_tag = 'delete_me'
for element in fragment.xpath(".//span[@style='']"):
  element.tag = delete_tag
etree.strip_tags(fragment, delete_tag)
print(etree.tostring(fragment))

我得到的是

b'<fragment>text1 <a>tex2 </a>text3<b>text4</b> <c>text 5</c>text 6 Style</fragment>'

但我想要的是

text1 <a>tex2 </a>text3<b>text4</b> <c>text 5</c>text 6 Style

尝试以下方法:

elems = fragment.xpath('.//*')
target = ''
target+=(fragment.xpath('./text()[1]')[0])
for elem in elems:
    target+=(etree.tostring(elem).decode())
target

输出:

'text1 <a>tex2 </a>text3<b>text4</b> <c>text 5</c>text 6 Style'