有什么工具可以从XML实例文档生成XSD模式?

有什么工具可以从XML实例文档生成XSD模式?

Any tools to generate an XSD schema from an XML instance document?

我正在寻找一个将使用XML实例文档并输出相应的XSD模式的工具。

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


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

编辑:我刚刚发现了.net XmlSchemaInference类,因此,如果您使用的是.net,则应考虑


您可以使用开放源代码和跨平台选项:Apache的XMLBeans中的inst2xsd。我觉得它非常有用和容易。

只需下载,解压缩并播放(需要Java)。


董里是这里最好的选择。开源和跨平台(尽管需要Java)

从董里网站:

Trang converts between different schema languages for XML. It supports the following languages

  • RELAX NG (XML syntax)
  • RELAX NG compact syntax
  • XML 1.0 DTDs
  • W3C XML Schema

A schema written in any of the supported schema languages can be converted into any of the other supported schema languages, except that W3C XML Schema is supported for output only, not for input.

Trang can also infer a schema from one or more example XML documents.

下载链接


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


在Github上也有XML schema learner

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


如果已安装.Net,则默认情况下已包含用于生成XSD架构和类的工具。
对我而言,XSD工具安装在以下结构下。这可能因安装目录而异。

1
2
3
4
5
6
7
8
9
10
11
12
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 .dll|.exe [/outputdir:] [/type: [...]]
xsd.exe <instance>.xml [/outputdir:]
xsd.exe <schema>.xdr [/outputdir:]

通常,此工具生成的类和模式工作得很好,尤其是如果您要使用.Net语言使用它们时,尤其如此

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


如果您只需要XSD,LiquidXML就会提供一个免费版本的XSD,并提供一个GUI,以便您可以根据需要调整XSD。无论如何,如今我都是手工编写自己的XSD,但这要归功于此应用程序。

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


如果您在Java世界中工作-intelliJ idea还具有广泛的xml支持,包括xsd生成和xsd生成的samle xml,并且使用插件可以获取xslt调试器。 -如果以后打算使用jaxb之类的工具,则特别好。


这是一个旧线程,但我认为发布此链接可能很有用:刚刚找到此工具:
xsd-gen从XML生成XML模式

它正是我所需要的。


Altova XmlSpy做得很好-您可以在此处找到概述


推荐阅读

    linux命令行模式登录?

    linux命令行模式登录?,系统,密码,信息,状态,情况,终端,环境,管理,电脑,位置,l

    linux命令模式加行?

    linux命令模式加行?,工作,地址,系统,命令,工具,正规,信息,时间,第一,模式,Lin

    linux命令行模式使用?

    linux命令行模式使用?,工作,地址,目录,信息,名称,系统,管理,命令,文件,标准,l

    linux标准输出命令?

    linux标准输出命令?,标准,工作,系统,信息,地址,命令,环境,基础,设备,数字,lin

    linux命令chm文档?

    linux命令chm文档?,电脑,系统,文件,首页,百度,软件,电机,管理,产品,设备,谁知

    linux中编辑文档命令?

    linux中编辑文档命令?,状态,工作,命令,电脑,信息,第一,系统,编辑,终端,文件,L

    linux命令下载工具?

    linux命令下载工具?,工具,网络,代理,代码,简介,位置,系统,第一,下载工具,文

    linux常用输出命令?

    linux常用输出命令?,工作,系统,地址,管理,信息,标准,命令,目录,数据,位置,lin

    linux声音输出命令?

    linux声音输出命令?,电脑,系统,设备,服务,软件,数据,工具,情况,手机,命令,lin

    linux好用的命令工具?

    linux好用的命令工具?,系统,管理,工具,基础,服务,信息,工作,发行,公司,代码,L

    linux常用命令行工具?

    linux常用命令行工具?,系统,工作,工具,地址,管理,信息,命令,软件,目录,基础,l

    linux命令行专业工具?

    linux命令行专业工具?,工具,系统,工作,信息,服务,环境,基础,命令,管理,发行,l

    linux切换成命令模式?

    linux切换成命令模式?,密码,系统,工具,模式,命令,首页,状态,图形界面,终端,

    linux命令行执行工具?

    linux命令行执行工具?,工具,系统,网络,分析,工作,服务,状态,信息,电脑,发行,s

    linux命令行模式清页?

    linux命令行模式清页?,工作,系统,命令,信息,地址,目录,内容,文件,操作,功能,l

    用linux命令输出id?

    用linux命令输出id?,系统,设备,工作,信息,地址,命令,工具,基础,目录,进程,lin

    linux命令行执行工具?

    linux命令行执行工具?,工具,系统,网络,分析,工作,服务,状态,信息,电脑,发行,s

    linux进入命令行模式?

    linux进入命令行模式?,系统,地址,情况,工作,命令,终端,首页,信息,目录,界面,l

    linux命令输出太多?

    linux命令输出太多?,命令,标准,信息,时间,名称,文件,内容,屏幕,模式,目录,lin

    linux底线模式命令?

    linux底线模式命令?,系统,档案,密码,状态,工作,命令,模式,文件,明文,界面,lin