在处理XML时,是否可以在Python中使用XPath查询。我使用的是不支持此功能的minidom。是否有其他模块支持此功能?
li9yvcax1#
http://docs.python.org/library/xml.etree.elementtree.htmletree支持XPath查询,就像lxml一样。etree包含在标准库中,但lxml更快。
ifsvaxew2#
我最喜欢的Python XML处理库是lxml,因为它是libxml2的 Package 器,所以也支持完整的XPath。还有4Suite,它更像是一个纯粹的Python解决方案。
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
3条答案
按热度按时间li9yvcax1#
http://docs.python.org/library/xml.etree.elementtree.html
etree支持XPath查询,就像lxml一样。
etree包含在标准库中,但lxml更快。
ifsvaxew2#
我最喜欢的Python XML处理库是lxml,因为它是libxml2的 Package 器,所以也支持完整的XPath。
还有4Suite,它更像是一个纯粹的Python解决方案。
gxwragnw3#
ElementTree也包含在内。在2.6及以下版本中,它的xpath相当弱,但在2.7+中有了很大的改进: