使用Python在XML中进行XPath查询

r3i60tvu  于 2022-12-01  发布在  Python
关注(0)|答案(3)|浏览(114)

在处理XML时,是否可以在Python中使用XPath查询。我使用的是不支持此功能的minidom。是否有其他模块支持此功能?

li9yvcax

li9yvcax1#

http://docs.python.org/library/xml.etree.elementtree.html
etree支持XPath查询,就像lxml一样。
etree包含在标准库中,但lxml更快。

ifsvaxew

ifsvaxew2#

我最喜欢的Python XML处理库是lxml,因为它是libxml2的 Package 器,所以也支持完整的XPath。
还有4Suite,它更像是一个纯粹的Python解决方案。

gxwragnw

gxwragnw3#

ElementTree也包含在内。在2.6及以下版本中,它的xpath相当弱,但在2.7+中有了很大的改进:

import xml.etree.ElementTree as ET
root = ET.parse(filename)
result = ''

# How to make decisions based on attributes even in 2.6
for elem in root.findall('.//child/grandchild'):
    if elem.attrib.get('name') == 'foo':
        result = elem.text
        break

相关问题