在没有非python依赖项的情况下在Python中验证XML

时间:2009-08-07 07:36:34

标签: python xml validation schema dtd

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

4 个答案:

答案 0 :(得分:4)

你的意思是MiniXsv吗?我从未使用它,但是从网站上我们可以阅读

  

minixsv是一个轻量级的XML架构   验证包用纯粹写的   Python(至少Python 2.4是   必需的)。

所以,它应该适合你。

我相信ElementTree也可用于此目标,但我并非百分百肯定。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

编辑:只浏览文档,而主要是 Python,这对您来说可能还不够。

答案 3 :(得分:0)

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

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