我有一个像这样的XML结构:
mytree = """
<path>
<to>
<nodes>
<info>1</info>
<info>2</info>
<info>3</info>
</nodes>
</to>
</path>
"""
我目前正在使用python lxml中的xpath来获取节点:
>>> from lxml import etree
>>> info = etree.XML(mytree)
>>> print info.xpath("/path/to/nodes/info")
[<Element info at 0x15af620>, <Element info at 0x15af940>, <Element info at 0x15af850>]
>>> for x in info.xpath("/path/to/nodes/info"):
print x.text
1
2
3
这很棒,但是有一种更简洁的方法可以将只是内部文本作为列表,而不是之后必须编写for循环吗?
类似的东西:
print info.xpath("/path/to/nodes/info/text")
(但这不起作用)
答案 0 :(得分:8)
您可以使用:
print info.xpath("/path/to/nodes/info/text()")