将XSD架构转换为类

时间:2016-06-30 09:04:22

标签: c# xml xsd

我正在开发一个消耗(外部)服务的项目。

供应商提供了一大堆XSD(其中89个),我希望将它们全部转换为.Net(C#)类/类库。

我在这些上使用XSD实用程序但由于存在大量交叉引用和导入,因此它们失败并显示错误消息type 'xxxxx' not declared

现在,根据我的谷歌搜索,通过编译完整的引用"树"可以简单地克服这个问题。但是....

  1. 我有89个要转换的文件
  2. 它将所有模式名称连接在一起以输出.cs文件名(并且由于太长而导致中断(> 260char))
  3. 我考虑过创建一个类库程序集,从基本级别模式(没有导入的模式)开始,然后告诉XSD转换模式但使用此程序集中的任何引用类型......但我不确定如何甚至如果可能的话。

    那么,我怎么能最好地做到这一点......欢迎任何建议。

    是的,89个模式很多,不幸的是,我无法控制它,我只需要把它搞砸并处理它。

1 个答案:

答案 0 :(得分:0)

您可以在xsd.exe中使用/P[arameters]:file.xml option在单独的文件中指定许多参数,而不是在命令行中传递它们。

此xml的示例:

<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
    <generateClasses language='CS' namespace='MyNamespace'>
        <schema>FirstSchema.xsd</schema>
        <schema>SecondSchema.xsd</schema>
        <schema>ThirdSchema.xsd</schema>
    </generateClasses>
</xsd>