更新python-elementtree以解决xpath选择器问题

2 投票
2 回答
1376 浏览
提问于 2025-04-16 23:57

我在用ElementTree查找xml中一个节点的属性时遇到了错误。

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 update,想要升级python-elementtree时,系统还是告诉我我已经是最新版本。我现在用的是Ubuntu 9.10,可能是因为软件源里没有elementtree 1.3的版本。

我该怎么做才能升级到1.3版本呢?

2 个回答

0

试着用 easy_installpip 来安装 lxml、ElementTree 或 cElementTree 这些库。这些库可能比你在 apt 仓库里找到的版本更新。

希望这能帮到你。

4

lxml 是一个非常实用的库,用来解析 XML 文件,它完整实现了 ElementTree API。你可以尝试用以下命令来安装它:

sudo apt-get install python-lxml

安装完成后,你需要修改你的导入语句,使用 lxml 版本,而不是自带的 elementree

(我建议在没有 virtualenv 环境的情况下,尽量不要使用 pipeasy_install,这样可以避免和 Debian 打包的 Python 库产生混淆。)

撰写回答