使用ElementTree在xml中搜索节点的属性时出错。
expected path separator ([)
源代码是:
home_team_node = game_node.find( "team/team-metadata[@alignment='home']" )
关于Stackoverflow的讨论让我得出结论,我需要一个更新版本的ElementTree。
ElementTree XPath - Select Element based on attribute
当我列出已安装的软件包时,我看到我有python-elementtree版本1.2.6-14。即使在运行apt-get update之后,任何升级python-elementtree的努力都告诉我,我已经有了最新版本。我正在运行Ubuntu 9.10,所以可能存储库没有elementtree 1.3。
如何升级到1.3版?
答案 0 :(得分:4)
lxml是一个非常有用的解析XML库,它有一个完整的ElementTree API实现。尝试安装:
sudo apt-get install python-lxml
然后,您需要change your import statments才能使用lxml版本而不是捆绑的elementree
。
(除非您处于pip
环境,否则我会拒绝使用easy_install
或virtualenv
,以避免与Debian打包的Python库混淆。)
答案 1 :(得分:0)
尝试使用easy_install
或pip
安装lxml,ElementTree或cElementTree。这些包可能比apt
存储库中的包更新。
HTH