2012-03-05 81 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()") 
相关问题