从多个XSD架构文件生成C#类的最佳方法是什么?
某些XSD架构文件可能依赖于另一个,我试图避免生成重复的C#类。
答案 0 :(得分:49)
使用XSD.EXE程序,但将所有模式传递给同一命令行中的程序。
例如:
> xsd /c qbxmltypes130.xsd QBUqbxmlops130.xsd QBUqbxmlso130.xsd QBUqbxml130.xsd
将发出一个名为:
的类qbxmltypes130_QBUqbxmlops130_QBUqbxmlso130_QBUqbxml130.cs
在这种情况下,这些是Quickbooks Desktop SDK xsd文件,最终文件具有前3个文件所依赖的类型。它不会自行发射,但依赖它可以按需运行。
请注意,有一个/parameters:<file>
开关,允许您指定命令行参数的文件。我记得因为类似的原因在一个项目中使用它。
XSD.EXE doc具有参数格式。
答案 1 :(得分:31)
我一个人发现MSDN文档中的示例有点缺乏。 这是描述的问题代码的示例参数文件:
<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>