我正在编写一个小型Python应用程序以供分发。我需要包含简单的XML验证(它是一个调试工具),但我想避免对已编译的C库(如lxml或pyxml)的任何依赖,因为这些将使得生成的应用程序更难分发。我找不到任何符合条件的东西 - 对于DTD,Relax NG或XML Schema。有什么建议吗?
答案 0 :(得分:4)
你的意思是MiniXsv吗?我从未使用它,但是从网站上我们可以阅读
minixsv是一个轻量级的XML架构 验证包用纯粹写的 Python(至少Python 2.4是 必需的)。
所以,它应该适合你。
我相信ElementTree也可用于此目标,但我并非百分百肯定。
答案 1 :(得分:1)
为什么不尝试调用在线XML验证器并解析结果?
我找不到任何基于REST或SOAP的免费服务,但使用普通的HTML表单(如this one或this one)会很容易。您只需要构造正确的请求并解析结果(如果您不想使用httplib等第三方库来轻松解决问题,mechanize可能会有所帮助。
答案 2 :(得分:1)
我有一段时间没有看过它,所以它可能已经改变了,但是Fourthought的4Suite(community edition)仍然可以是纯Python。
编辑:只浏览文档,而主要是 Python,这对您来说可能还不够。
答案 3 :(得分:0)
beautifulsoup模块是纯Python(和单个.py文件),但我不知道它是否能满足您的验证需求,我只是用它来快速提取大型XML上的某些字段。