代码之家  ›  专栏  ›  技术社区  ›  Matt Dillard

是否有任何工具可以从XML实例文档生成XSD模式?[关闭]

  •  151
  • Matt Dillard  · 技术社区  · 17 年前

    我正在寻找一种工具,它将获取XML实例文档并输出相应的XSD模式。

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

    10 回复  |  直到 6 年前
        1
  •  67
  •   Sachin Joseph    8 年前

    这个 Microsoft XSD inference tool 这是一个很好的免费解决方案。许多XML编辑工具,如XmlSpy(由@Garth Gilmour提到)或OxygenXML编辑器也具有此功能。不过,它们相当贵。BizTalk Server也有一个XSD推断工具。

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

        2
  •  57
  •   Dario    17 年前

    您可以使用开源和跨平台选项:inst2xsd Apache's XMLBeans 我发现它非常有用且简单。

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

        3
  •  53
  •   Community Mohan Dere    5 年前

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

    来自董的网站:

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

    • RELAX NG(XML语法)
    • RELAX NG紧凑语法
    • XML 1.0 DTD
    • W3C XML架构

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

    Trang还可以从一个或多个示例XML文档中推断出模式。

    Download Link

        4
  •  19
  •   Nathan Donnellan    13 年前

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

        5
  •  13
  •   edorian    14 年前

    还有 XML schema learner 可在 Github .

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

        6
  •  11
  •   Pat Hermens    17 年前

    如果你有。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:]
    

    通常,此工具生成的类和模式工作得相当好,特别是如果你要在一个应用程序中使用它们。网络语言

    我通常会获取我想要的XML文档,并使用XSD工具将其推送 /o:<your path> 标记以生成模式(xsd),然后使用 /classes /L:VB (or CS) /o:<your path> 标记以获取我可以在日常中导入和使用的类。净项目

        7
  •  7
  •   Robert Gould    17 年前

    如果你只想要XSD,LiquidXML有一个免费的XSD版本,它有一个GUI,这样你就可以根据需要调整XSD。不管怎样,现在我手工编写自己的XSD,但这都要归功于这个应用程序。

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

        8
  •  5
  •   Andreas Petersson    17 年前

    如果你在java世界工作- 智能理念 还具有广泛的xml支持,包括xsd生成和来自xsd生成的samlexml,并且通过插件可以获得xslt调试器。-如果你打算以后使用jaxb等工具,那就太好了。

        9
  •  4
  •   Garth Gilmour    17 年前

    Altova XmlSpy在这方面做得很好-您可以找到概述 here

        10
  •  4
  •   Jeff Puckett    9 年前

    这是一个旧线程,但我认为发布这个链接可能有用:刚刚找到了这个工具: xsd-gen Generate XML Schema from XML

    它只是做了我需要的。