【问题标题】:Validating XML in Python without non-python dependencies在没有非 python 依赖项的情况下在 Python 中验证 XML
【发布时间】:2010-11-17 14:59:58
【问题描述】:

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

【问题讨论】:

    标签: python xml validation schema dtd


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      所以,它应该适合你。

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

      【讨论】:

      • 完美,这正是我想要的。
      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 2011-02-18
          • 2019-10-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-21
          • 1970-01-01
          相关资源
          最近更新 更多