仅返回 xpath 中元素的文本(python / lxml)

2024-01-18

我有一个像这样的 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

这很棒,但是有没有更干净的方式来获取just将内部文本作为列表,而不是随后编写 for 循环?
就像是:

print info.xpath("/path/to/nodes/info/text")

(但这不起作用)


您可以使用:

print info.xpath("/path/to/nodes/info/text()")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅返回 xpath 中元素的文本(python / lxml) 的相关文章

随机推荐