多个XSD架构文件到C#类

Ray*_* Lu 39 c# xsd

从多个XSD架构文件生成C#类的最佳方法是什么?

一些XSD架构文件可能依赖于另一个,我试图避免生成重复的C#类.

Joh*_*ers 51

使用XSD.EXE程序,但在同一命令行上将所有模式传递给程序.

例如:

> xsd /c qbxmltypes130.xsd QBUqbxmlops130.xsd QBUqbxmlso130.xsd QBUqbxml130.xsd
Run Code Online (Sandbox Code Playgroud)

将发出一个名为的类:

qbxmltypes130_QBUqbxmlops130_QBUqbxmlso130_QBUqbxml130.cs
Run Code Online (Sandbox Code Playgroud)

在这种情况下,这些是Quickbooks Desktop SDK xsd文件,最终文件具有前3个文件所依赖的类型.它不会自行发射,但依赖它可以按需运行.

请注意,有一个/parameters:<file>开关允许您指定命令行参数的文件.我记得出于类似的原因在一个项目中使用它.

XSD.EXE doc具有参数格式.

  • 只需添加一个示例"xsd.exe/classes/n:{your_namespace} {file1} .xsd {file2} .xsd {file3} .xsd/out:{your output folder}" (3认同)

小智 32

我一个人发现MSDN文档中的示例有点缺乏.这是一个描述的问题codemeit的示例参数文件:

<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateClasses language='CS' namespace='Namespace.subnamespace'>
    <schema>FirstSchema.xsd</schema>
    <schema>AnotherSchema.xsd</schema>
    <schema>LastSchema.xsd</schema>
</generateClasses>
</xsd>
Run Code Online (Sandbox Code Playgroud)

  • 如果你得到错误"指定的路径或文件名太长"尝试在最后一个文件的前面放置一个".\",它解决了问题,请注意输出文件将由最后一个文件命名. (9认同)