如何使用 lxml python 在 xml 中获取具有某些特定值的节点的父节点

How to get parent of a node with some specific value in xml using lxml python

我是 xml 的新手,在解析它时遇到问题。 我关注 xml:

<bookstore>
  <book>
    <name>abc</name>
    <price>30</price>
  </book>
  <book>
     <name>Learning XML</name>
     <price>56</price>
  </book>
  <book>
     <name>Learning Java</name>
     <price>340</price>
  </book>
  <book>
     <name>Learning Python</name>
     <price>560</price>
  </book>
</bookstore> 

我想获取价格为 30 的书的名称。如何使用 lml python

您可以对 <book> 的 select <name> 元素使用以下 XPath,其 <price> 等于 30 :

//book[price=30]/name

Python 示例:

from lxml import etree
tree = etree.parse('path_to_your_xml.xml')
result = tree.xpath('//book[price=30]/name')[0]
print result.text
#above printed abc