我需要提取元素某些名称下的所有文本。但是我也需要将它们分组。 XPath表达式是什么样的?
示例:
<root>
<list><t>t1</t><t>t1</t></list>
<list><t>t2</t><t>t2</t></list>
<list><t>t3</t><t>t3</t></list>
</root>
预期列表结果:
['t1t1', 't2t2', 't3t3']
我使用python lxml
软件包。我不知道如何分组。
s = """<root>
<list><t>t1</t><t>t1</t></list>
<list><t>t2</t><t>t2</t></list>
<list><t>t3</t><t>t3</t></list>
</root>"""
from lxml import etree
xml = etree.fromstring(s)
result = xml.xpath('//list//text()')
print(result)
我的结果:
['t1', 't1', 't2', 't2', 't3', 't3']
答案 0 :(得分:0)
尝试以下操作以获得所需的输出:
xml = etree.fromstring(s)
lists = xml.xpath('//list')
for item in lists:
result = "".join([i for i in item.itertext()])
print(result)