在办公室,我们目前正在编写一个应用程序,它将根据给定的模式生成XML文件。我们在. xsd文件中拥有模式。

是否有工具或库可以用于自动测试,以检查生成的XML是否与模式匹配?

我们更喜欢适合商业用途的免费工具,尽管我们不会捆绑模式检查器,因此它只需要在开发过程中供开发人员使用。

我们的开发语言是c++,如果这有什么不同的话,尽管我不认为它应该,因为我们可以生成xml文件,然后通过在测试中调用一个单独的程序来进行验证。


当前回答

notepad++有一个名为XML Tools的插件,它提供针对XSD的XML验证和验证。

你可以在这里看到如何使用它。

其他回答

可以在http://www.xml-buddy.com上找到用于快速简便XML验证的XML编辑器

您只需要运行安装程序,然后就可以使用易于使用的桌面应用程序或命令行验证XML文件。此外,您还可以获得Schematron和RelaxNG的支持。批处理验证也支持…

2012年1月13日更新:命令行工具可以免费使用,并使用Xerces作为XML解析器。

http://www.xmlvalidation.com/

(请务必勾选“验证外部XML模式”框)

来自DecisionSoft的在线XML模式验证器允许您根据给定的模式检查XML文件。

我使用Xerces:

http://xerces.apache.org/xerces-c/

我只是在学习图式。我使用RELAX NG和使用xmllint来验证。我对xmllint中出现的错误感到沮丧。我希望他们能提供更多信息。

如果XML中有错误的属性,那么xmllint会告诉您不受支持的属性的名称。但是,如果XML中缺少某个属性,则会收到一条消息,说该元素无法验证。

我正在处理一些具有非常复杂规则的非常复杂的XML,而且我是新手,因此追踪缺少哪个属性花费了很长时间。

更新:我刚刚发现了一个我很喜欢的java工具。它可以像xmllint一样从命令行运行,并且它支持RELAX NG: https://msv.dev.java.net/