在办公室,我们目前正在编写一个应用程序,它将根据给定的模式生成XML文件。我们在. xsd文件中拥有模式。
是否有工具或库可以用于自动测试,以检查生成的XML是否与模式匹配?
我们更喜欢适合商业用途的免费工具,尽管我们不会捆绑模式检查器,因此它只需要在开发过程中供开发人员使用。
我们的开发语言是c++,如果这有什么不同的话,尽管我不认为它应该,因为我们可以生成xml文件,然后通过在测试中调用一个单独的程序来进行验证。
在办公室,我们目前正在编写一个应用程序,它将根据给定的模式生成XML文件。我们在. xsd文件中拥有模式。
是否有工具或库可以用于自动测试,以检查生成的XML是否与模式匹配?
我们更喜欢适合商业用途的免费工具,尽管我们不会捆绑模式检查器,因此它只需要在开发过程中供开发人员使用。
我们的开发语言是c++,如果这有什么不同的话,尽管我不认为它应该,因为我们可以生成xml文件,然后通过在测试中调用一个单独的程序来进行验证。
当前回答
IntelliJ IDEA是一个很好的从XML验证和生成XSD的可视化工具,直观而简单。
其他回答
Windows有免费的XML记事本2007。 您可以选择用于验证的XSD
更新:更好的是,使用notepad++和XML Tools插件
另一个在线XML模式(XSD)验证器:http://www.utilities-online.info/xsdvalidation/。
我使用Xerces:
http://xerces.apache.org/xerces-c/
Xmlstarlet是一个命令行工具,可以完成以下工作:
$ xmlstarlet val --help XMLStarlet Toolkit: Validate XML document(s) Usage: xmlstarlet val <options> [ <xml-file-or-uri> ... ] where <options> -w or --well-formed - validate well-formedness only (default) -d or --dtd <dtd-file> - validate against DTD -s or --xsd <xsd-file> - validate against XSD schema -E or --embed - validate using embedded DTD -r or --relaxng <rng-file> - validate against Relax-NG schema -e or --err - print verbose error messages on stderr -b or --list-bad - list only files which do not validate -g or --list-good - list only files which validate -q or --quiet - do not list files (return result code only) NOTE: XML Schemas are not fully supported yet due to its incomplete support in libxml2 (see http://xmlsoft.org) XMLStarlet is a command line toolkit to query/edit/check/transform XML documents (for more information see http://xmlstar.sourceforge.net/)
在你的情况下,用法应该是这样的:
xmlstarlet val --xsd your_schema.xsd your_file.xml
您可以将XML模式连接到Microsoft Visual Studio的智能感知。这个选项为您提供了实时验证和自动完成,这真是太棒了。
我在免费的Microsoft Visual c++ 2010 Express上运行了这个场景。