3

我正在编写一个用于分发的小型 Python 应用程序。我需要包含简单的 XML 验证(它是一个调试工具),但我想避免对已编译的 C 库(例如 lxml 或 pyxml)的任何依赖,因为它们会使生成的应用程序更难分发。我找不到任何似乎符合要求的东西——对于 DTD、Relax NG 或 XML Schema。有什么建议么?

4

4 回答 4

4

你的意思是像MiniXsv这样的东西吗?我从来没有用过,但从网站上,我们可以读到

minixsv 是一个用纯 Python 编写的轻量级 XML 模式验证器包(至少需要 Python 2.4)。

所以,它应该适合你。

我相信ElementTree也可以用于该目标,但我不是 100% 确定。

于 2009-08-07T07:59:53.173 回答
1

为什么不尝试调用在线 XML 验证器并解析结果?

我找不到任何免费的基于 REST 或 SOAP 的服务,但使用基于普通 HTML 表单的服务(例如this onethis one )很容易。您只需要构造正确的请求并解析结果(如果您不想使用mechanize等第三方库来减轻痛苦, httplib可能会有所帮助)。

于 2009-08-07T07:45:09.880 回答
1

我有一段时间没看它了,所以它可能已经改变了,但是 Fourthought 的4Suite社区版)仍然可以是纯 Python。

编辑:刚刚浏览了文档,它主要是Python,这对你来说可能还不够。

于 2009-08-07T08:18:42.560 回答
0

beautifulsoup 模块是纯 Python(和单个 .py 文件),但我不知道它是否能满足您的验证需求,我只用它来快速提取大型 XML 上的一些字段。

http://www.crummy.com/software/BeautifulSoup/

于 2009-08-07T09:32:47.120 回答