0

我需要存储人类和机器可读的结构化文件数据。我主要使用 python 打开/编辑/读取这些文件。但是我可能还需要使用其他程序。

我曾经使用 XML/XPATH。然而,xpath 库是脆弱的,并且不能在大多数系统上运行而没有大量的挫败感。我厌倦了试图弄清楚 xpath,我将我的脚本移植到不同的平台。

 me@ubuntu:~/$ program -arg1 "foo" -arg2
   File "/home/me/bin/script.py", line 16, in <module>
     from xml import xpath 
 ImportError: cannot import name xpath

顺便说一句,sudo apt-get install python-xml不能解决这个问题。

底线是我受够了 xml/xpath。我想要一个在所有情况下、在所有平台上都能正常工作的解决方案!

我可以使用什么?建议?

4

1 回答 1

1

xml.etree.elementTree自 Python 2.5 起是标准库的一部分。它还包含一个基本的 XPathfindall函数。

或者,您可以使用 lxml 的 XPath 方法来模仿 的接口xml.etree.ElementTree,但支持更高级的 XPath 表达式。但是,需要安装lxml,因为它(还)不是标准库的一部分。

对于许多任务,您还可以使用JSON代替 XML。JSON 很容易使用您的编程语言的本机函数解析和遍历。

于 2012-04-08T18:14:48.077 回答