繁体   English   中英

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

[英]Just returning the text of elements in xpath (python / lxml)

我有这样的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")

(但这不起作用)

您可以使用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM