Ubuntu上的PyXML

时间:2011-02-10 05:08:09

标签: python xml

我刚刚完成了Ubuntu 10.10的全新安装,我正在尝试运行一些使用xml和xpath的脚本。我从PyXML里面得到一个错误。

我认为这是一个安装错误。为了安装这个,我做了以下几点:

prompt> sudo apt-get install python2.6-dev   # The next line wouldn't install without this.
prompt> sudo easy_install PyXML

------- BEGIN ERROR ---------     username @ ubuntu:〜/ data / code $ MyScript.py

Traceback (most recent call last):
  File "/home/username/data/code/app/trunk/MyScript.py", line 17, in <module>
    from xml import xpath
  File "/usr/local/lib/python2.6/dist-packages/PyXML-0.8.4-py2.6-linux-i686.egg/_xmlplus/xpath/__init__.py", line 112, in <module>
    from pyxpath import ExprParserFactory
  File "/usr/local/lib/python2.6/dist-packages/PyXML-0.8.4-py2.6-linux-i686.egg/_xmlplus/xpath/pyxpath.py", line 59, in <module>
    from xml.xpath.ParsedAbbreviatedRelativeLocationPath import ParsedAbbreviatedRelativeLocationPath
  File "/usr/local/lib/python2.6/dist-packages/PyXML-0.8.4-py2.6-linux-i686.egg/_xmlplus/xpath/ParsedAbbreviatedRelativeLocationPath.py", line 31
    as = ParsedAxisSpecifier.ParsedAxisSpecifier('descendant-or-self')
     ^
SyntaxError: invalid syntax

------------- END ERROR -------------------

我正处于使用PyXML的极限。我只想读取xml文件并使用xpath读/写数据。是否有一个更简单的库,可以轻松地开箱即用?或者有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:2)

只是为了记录,如果你真的需要PyXML(即你现在没有时间移植的遗留代码),只需在两个位置更改as它就可以用于其他变量名称会做的。

另外,我注意到Gentoo将方法use_pyxml()添加到明确需要调用的PyXML中;所以不使用标准库XML模块。如果感兴趣,请参阅here

答案 1 :(得分:1)

PyXML应该是为非常旧版本的Python(&lt; 2.4)编写的,并且它使用后面的一个关键字'as'作为它的变量。如果您的要求很简单,您可以使用支持ElementTree表达式的Python标准库中的XPath。一个例子是here

要使用标准库模块,请执行以下操作:

from xml.etree.ElementTree import ElementTree