обновление python-elementtree для решения проблемы селектора xpath - PullRequest
2 голосов
/ 19 августа 2011

Я получаю сообщение об ошибке при поиске атрибута узла в моем xml с помощью ElementTree.

expected path separator ([)

Исходный код:

home_team_node = game_node.find( "team/team-metadata[@alignment='home']" )

Это обсуждение Stackoverflowприводит меня к выводу, что мне нужна более новая версия ElementTree.

ElementTree XPath - выберите элемент на основе атрибута

Когда я вижу список установленных пакетов, я вижу, что у меня есть python-elementtreeверсия 1.2.6-14.Но даже после запуска обновления apt-get любые попытки обновить python-elementtree говорят мне, что у меня последняя версия.Я использую Ubuntu 9.10, поэтому, возможно, в репозиториях нет elementtree 1.3.

Что я могу сделать, чтобы перейти на версию 1.3?

Ответы [ 2 ]

4 голосов
/ 19 августа 2011

lxml - очень полезная библиотека для анализа XML, и она имеет полную реализацию API ElementTree. Попробуйте установить его с помощью:

sudo apt-get install python-lxml

Затем вам нужно будет изменить статистику импорта , чтобы использовать версию lxml вместо elementree.

.

(Я бы не стал использовать pip или easy_install, если вы не находитесь в среде virtualenv, чтобы избежать путаницы с библиотеками Python, упакованными в Debian.)

0 голосов
/ 19 августа 2011

Попробуйте установить lxml, ElementTree или cElementTree с easy_install или pip.Эти пакеты, вероятно, более поздние, чем пакеты из apt.

HTH

...