【问题标题】:How to validate xml with a XSD import/include other XSD files?如何使用 XSD 导入/包含其他 XSD 文件验证 xml?
【发布时间】:2014-02-10 23:08:15
【问题描述】:

根之一:

a.xsd

哪个进口|包括:

<xsd:import schemaLocation="b.xsd"/>
<xsd:include schemaLocation="c.xsd"/>

我知道有很多在线工具(验证器)可以将一个 XML 文件和一个 .xsd 文件作为输入并运行验证。

考虑到涉及“导入”和“包含”,通过指定单个 .xsd 文件来验证 XML 文件的选项有哪些?

可以使用哪个 GUI 工具(免费的)进行快速验证? 如何在 Java/C#/C++/Python 中的任何一种语言的代码中实现?

提前谢谢你

【问题讨论】:

    标签: xml xsd


    【解决方案1】:
    1. 答案很简单:将以下文件放在同一个文件夹中。

      • a.xsd
      • b.xsd
      • c.xsd
    2. 我写了一个Validator.py,内容如下:

      import sys
      from lxml import etree
      doc = etree.parse(sys.argv[1])
      xmlschema_doc = etree.parse('a.xsd')
      xmlschema = etree.XMLSchema(xmlschema_doc)
      if xmlschema(doc):
          print 'Success!'
      else:
          print 'Invalid!'
          xmlschema.assertValid(doc)
      raw_input()
      
    3. 在命令行中执行(Windows):

      python Validator.py aParser.xml
      

    【讨论】:

    • 完美的解决方案,可以快速找到 xml 中的错误。奇怪,这被否决了!
    猜你喜欢
    • 2011-01-21
    • 2012-08-31
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多