基于XSD创建MULTIPLE类文件

The*_*uru 15 .net c# visual-studio-2010 xsd.exe

我可能正在尝试使用XSD工具无法实现的功能,但在进入更简单的解决方案之前我想问一下.

我有一个XSD文件,有多个元素(和多个复杂类型),将在一个代码文件中生成多个类(我不喜欢这个).为了从XSD工具生成干净且可读的类文件,我希望将每个元素放在一个单独的代码文件中,而不是将所有元素放在一个代码文件中作为部分类.

有谁知道如何做到这一点?或者我是唯一的解决方案,将XSD分解为模式中每个xml元素的一个模式?

MSDN文章http://msdn.microsoft.com/en-us/library/x6c1kb0s(v=VS.100).aspx不提供指定是否可以完成此操作的语言.

提前感谢您的任何答案或评论.

wom*_*omp 15

这不能直接回答你的问题,但我想抛出一些东西:

我通常发现分离生成的代码会产生反效果.我总是喜欢遵循"每个文件一个类"规则,但我在这里做了一个例外,因为我经常处理非常大的模式.即使在他们自己的目录中,我也不希望在生成新版本的代码时需要差异(到数百个)文件.我发现让所有生成的代码在一个文件中可扩展是非常方便的.

现在,提供一个可能的解决方案 - Resharper能够从文件中提取所有类并将它们放在自己的文件中.如果你右击在Solution Explorer中的文件,你可以说重构→ 移动到类型匹配的文件 ....当然,这并不像通过这种方式生成它那样方便,但我不知道有哪种工具可以做到这一点.


小智 7

我试图解决的问题是在单独的类文件或一个单数,但唯一的类,而不是包含多个类的相同的命名空间.因此,我正在寻找类似的答案,并发现此引用共享获取xsd.exe以不创建重复类

这是一个简单的修复,但我花了很长时间才弄明白.您必须使用xsd.exe一次编译所有类,因此您只需运行一个命令而不是运行两个单独的命令:C:\ Solution\Project> xsd.exe Types.xsd Request.xsd Response.xsd/c现在你有一个文件Response.xsd,其中包含所有三个类.