lxml——如何将元素与子元素隔离

lxml -- how to isolate element from children

使用 lxml,我希望能够获取 HTML 元素并将其转换为字符串,不包括其子元素。我该怎么做?

谢谢

您可以使用 remove 方法删除 children:

import lxml.html as LH

code = '''<a foo="bar">some text<b></b> here <c><d>Hi</d></c> and here</a>'''

root = LH.fromstring(code)
print(root.text_content())
# some text here Hi and here

for elt in root:
    root.remove(elt)

print(LH.tostring(root))

产量

<a foo="bar">some text</a>

但是请注意,并非 text_content 返回的所有文本都在之后保留 你删除 children.