当前位置:  开发笔记 > 编程语言 > 正文

任何从XML实例文档生成XSD架构的工具?

如何解决《任何从XML实例文档生成XSD架构的工具?》经验,为你挑选了7个好方法。

我正在寻找一个工具,它将采用XML实例文档并输出相应的XSD架构.

我当然认识到,与手工创建模式相比,生成的XSD模式将受到限制(它可能不会处理可选或重复元素或数据约束),但它至少可以作为一个快速起点.



1> Danimal..:

在微软XSD推理工具是一个很好的,免费的解决方案.许多XML编辑工具,如XmlSpy(由@Garth Gilmour提到)或OxygenXML Editor也具有该功能.不过,它们相当昂贵.BizTalk Server也有一个XSD推断工具.

编辑:我刚刚发现了.net XmlSchemaInference类,所以如果你使用.net,你应该考虑一下


我很难找到这个工具的下载(xsd.exe),但它已经在我的系统中的C:\ Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin中.只是想我会分享以帮助任何人.
该目录在Windows 7上似乎已经改变了`xsd.exe`.我在许多`Microsoft SDKs`目录中都有它(因此它似乎不再依赖于Visual Studio?),其中一个:`C:\程序文件(x86)\ Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools`.我必须在包含xml的目录中运行它,以防止出现"路径中的非法字符"错误,但这可能是由于我拥有的长文件名.
如果有人没有安装Visual Studio,这里有一个下载xsd的替代链接:http://juliankay.com/development/download-xsd-exe/

2> Dario..:

您可以使用开源和跨平台选项:Apache的XMLBeans中的 inst2xsd .我发现它非常有用和简单.

只需下载,解压缩和播放(它需要Java).


像魅力一样工作:: cd ; ./inst2xsd -design ss -simple-content-types smart -enumerations 4 -outDir
请注意,XMLBeans已移至http://attic.apache.org/,这是退役Apache项目的所在地.换句话说,它自2012年以来一直没有更新.
OMG这比所有Powershell废话都要好得多!特别是因为我没有XSD文件!

3> 小智..:

Trang是这里最好的选择.开源和跨平台(虽然需要Java)

来自Trang网站:

Trang在XML的不同模式语言之间进行转换.它支持以下语言

RELAX NG(XML语法)

RELAX NG紧凑语法

XML 1.0 DTD

W3C XML Schema

使用任何支持的模式语言编写的模式都可以转换为任何其他支持的模式语言,但W3C XML模式仅支持输出,不支持输入.

Trang还可以从一个或多个示例XML文档中推断出架构.

下载链接


如果您只需要从xml文件生成xsd,那么trang是最好,最快和最简单的恕我直言.
trang文档有点薄.要生成模式,请运行`$ trang file.xml schema.xsd`.

4> Nathan Donne..:

在VS2010中,如果将XML文件加载到编辑器中,请单击XML菜单>>创建架构.


并在更高版本

5> edorian..:

还有GithubXML schema learner上有的.

它可以采用多个xml文件,从所有这些文件中提取通用XSD.


@ 79E09796使用`sudo apt-get install php5-cli`安装cli php并运行`./learn --help` ---我真的看不出它与用java,python或ruby编写的工具之间的区别:)

6> Pat Hermens..:

如果安装了.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 .xsd /classes|dataset [/e:] [/l:] [/n:] [/o:] [/s] [/uri:]
xsd.exe .dll|.exe [/outputdir:] [/type: [...]]
xsd.exe .xml [/outputdir:]
xsd.exe .xdr [/outputdir:]

通常,此工具生成的类和模式工作得相当好,特别是如果您要使用.Net语言来使用它们

我通常使用我正在使用的XML文档,通过带有/o:标志的XSD工具将其推送到生成模式(xsd)然后使用/classes /L:VB (or CS) /o:标志将xsd文件推回到工具中以获取我可以导入和使用的类在我的日常.Net项目



7> Robert Gould..:

如果你想要的只是XSD,LiquidXML有一个免费版本的XSD,它有一个GUI,所以如果你愿意,你可以调整XSD.无论如何,现在我手工编写自己的XSD,但这一切都归功于这个应用程序.

http://www.liquid-technologies.com/

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有