任何从XML实例文档生成XSD模式的工具?
我正在寻找一个工具,将采取XML实例文档,并输出相应的XSD架构。
我当然认识到,与手工创build模式(可能不会处理可选或重复元素或数据约束)相比,生成的XSD模式将受到限制,但它至less可以作为快速起点。
Microsoft XSD推理工具是一个很好的免费解决scheme。 许多XML编辑工具,如XmlSpy(由@Garth Gilmour提到)或OxygenXML编辑器也具有该function。 不过,它们相当昂贵。 BizTalk Server也有一个XSD推理工具。
编辑:我刚刚发现.net XmlSchemaInference类,所以如果你使用.NET,你应该考虑这一点
您可以使用Apache的XMLBeans中的开源和跨平台选项:inst2xsd。 我觉得它非常有用和简单。
只需下载,解压缩和播放(它需要Java)。
庄是这里最好的select。 开源和跨平台(尽pipeJava是必需的)
从Trang网站:
Trang在XML之间转换不同的模式语言。 它支持以下语言
- RELAX NG(XML语法)
- RELAX NG紧凑语法
- XML 1.0 DTD
- W3C XML Schema
用任何支持的模式语言编写的模式都可以转换成任何其他支持的模式语言,只是W3C XML模式仅支持输出,不支持input。
Trang还可以从一个或多个示例XML文档中推断出模式。
下载链接
在VS2010中,如果您将XML文件加载到编辑器中,请单击XML菜单>>创build架构。
Github上还有XML schema learner
。
它可以采取多个XML文件,并从所有这些文件中提取一个共同的XSD 。
如果你安装了.Net,默认情况下已经包含了一个生成XSD模式和类的工具。
对我而言,XSD工具安装在以下结构下。 这可能根据您的安装目录而有所不同。
C:\Program Files\Microsoft Visual Studio 8\VC>xsd Microsoft (R) Xml Schemas/DataTypes support utility [Microsoft (R) .NET Framework, Version 2.0.50727.42] Copyright (C) Microsoft Corporation. All rights reserved. xsd.exe - Utility to generate schema or class files from given source. xsd.exe <schema>.xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:] xsd.exe <assembly>.dll|.exe [/outputdir:] [/type: [...]] xsd.exe <instance>.xml [/outputdir:] xsd.exe <schema>.xdr [/outputdir:]
通常这个工具产生的类和模式工作得相当好,特别是如果你要用.Net语言来使用它们
我通常采用我以后的XML文档,用/o:<your path>
标志将其穿过XSD工具生成一个模式(xsd),然后使用/classes /L:VB (or CS) /o:<your path>
标志来获得我可以在我的日常工作中导入和使用的类.Net项目
如果你想要的只是XSD,LiquidXML有一个XSD的免费版本,它有一个GUI,所以你可以调整XSD,如果你喜欢。 无论如何,我现在手写我自己的XSD,但这一切都要感谢这个应用程序。
如果你正在java世界工作 – intelliJ的想法也有广泛的XML支持,包括xsd代和xsd代samle xml,并与插件,你可以得到xsltdebugging器。 – 特别好,如果你打算以后使用诸如jaxb的工具。
Altova XmlSpy做得很好 – 你可以在这里find一个概述
这是一个古老的线程,但我认为这可能是有用的发布此链接:刚发现这个工具: xsd-gen从XML生成XML模式
它只是做了我所需要的。