XPath Query в XML с использованием Python - PullRequest
7 голосов
/ 21 августа 2009

Возможно ли использовать XPath Query в Python при обработке XML. Я использую минидом, который не поддерживает это. Есть ли другой модуль для этого?

Ответы [ 3 ]

7 голосов
/ 21 августа 2009

http://docs.python.org/library/xml.etree.elementtree.html

etree поддерживает запросы XPath, как и lxml.

etree включен в стандартную библиотеку, но lxml работает быстрее.

2 голосов
/ 21 августа 2009

Моя любимая библиотека обработки XML для Python: lxml , которая, поскольку является оболочкой для libxml2, также поддерживает полный XPath.

Существует также 4Suite , который является более чистым решением Python.

1 голос
/ 22 ноября 2012

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 e in root.findall('.//child/grandchild'):
    if e.attrib.get('name') == 'foo':
        result = e.text
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...