如何从DTD或XSD生成示例XML文档?

203

我们正在开发一个涉及大量XML转换的应用程序。我们没有任何适当的输入测试数据,只有DTD或XSD文件。我们希望从这些文件中自己生成测试数据。是否有一种简单/免费的方法可以做到这一点?

编辑

显然没有免费的工具可供使用,我同意OxygenXML是其中最好的工具之一。


8
我无法找到符合问答格式的回答,或者引发“争论、辩论、投票或延伸讨论”的解释。 - mjn
19个回答

5
微软发布了一个“文档生成器”工具作为示例。这篇文章详细描述了样例应用程序的架构和运行方式。这是一篇文章
如果你只想运行样例生成工具,点击这里并安装MSI。
它是免费的,源代码也可用。需要.NET Framework才能运行。仅适用于XSDs(不适用于Relax NG或DTD)。

上面的链接是 MSDN 上一篇名为“从 XML 模式生成 XML 文档”的文章。 - Sam Warwick
安装程序会将一堆C#代码放到您的计算机上。只需将它们倒入LinqPad中,您就可以获得免费的XML实例生成器。Ta dah! - Sean Kearon
9年过去了,这对于XSD仍然非常有效。 - Mikanikal

4

微软办公套件有 'InfoPath',它可以导入XSD文件,并让您快速轻松地定义基于表单的编辑器来创建XML文件。它有两种模式 - 一种是定义表单的模式,另一种是通过填写表单来创建XML文件的模式。我相信它最早出现在Office 2003中,但大多数人从未安装它。我很惊讶地发现我非常喜欢它。


1
XMLBlueprint 7.5 可以执行以下操作: - 从 DTD 生成示例 XML - 从 Relax NG 模式生成示例 XML - 从 XML 模式生成示例 XML

1
Liquid XML Studio拥有一个XML示例生成器向导,可以从XML模式构建样本XML文件。生成的数据似乎符合模式要求(只是无法为正则表达式模式生成数据)。

Generate an XML Sample from an XSD


1

SoapUI 的开源版本可以从 WSDL(包含 XSD 类型定义)生成 SOAP 请求,因此看起来确实有一个开源实现这个功能。不幸的是,我还没有弄清楚用于执行此操作的库是哪个。


0

OpenXSD库提到他们支持基于XSD生成XML实例。可以去看看。


请问您能否提供一个使用示例? - naXa stands with Ukraine

0

很不幸,它没有从XSD生成有效的XML。然而,其他工具在这个任务上也失败了——Eclipse、Intellij IDEA甚至是XMLSpy。到目前为止我找到的最好的工具是https://www.liquid-technologies.com/online-xsd-to-xml-converter但是,即使使用这个工具,如果XSD中有模式,它仍然无法生成有效的XML。 - ka3ak

0

0

我按照建议尝试了以下操作: xsd-instance.sh purchase-order.xsd {http://jlibs.org}PurchaseOrder但是出现了错误: Error: Unable to initialize main class jlibs.xml.xsd.XSInstance Caused by: java.lang.NoClassDefFoundError: org/apache/xerces/xs/XSObject - ka3ak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接