2012-03-05 108 views
2

我有一個XML結構是這樣的:剛剛返回元素的XPath中的文本(蟒蛇/ LXML)

>>> 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 

mytree = """ 
<path> 
    <to> 
     <nodes> 
      <info>1</info> 
      <info>2</info> 
      <info>3</info> 
     </nodes> 
    </to> 
</path> 
""" 
我目前使用的python lxml的XPath來抓住節點

這很好,但有沒有一種更清晰的方式來抓取只是作爲一個列表的內部文本,而不是必須寫for循環?
喜歡的東西:

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

(但不工作)

回答

7

您可以使用:

print info.xpath("/path/to/nodes/info/text()") 
相關問題