基于XSD创建多个类文件

本文关键字:文件 XSD 创建 基于 | 更新日期: 2023-09-27 18:01:59

我可能正在尝试使用XSD工具无法实现的事情,但我想在转向更简单的解决方案之前问一下。

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

有人知道怎么做吗?或者我唯一的解决方案是将XSD分解为模式中的每个xml元素的一个模式?

MSDN文章http://msdn.microsoft.com/en-us/library/x6c1kb0s(v=VS.100).aspx没有提供指定是否可以这样做的语言。

提前感谢您的回答或评论

基于XSD创建多个类文件

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

我通常发现分离生成的代码是适得其反的。我通常喜欢遵循"每个文件一个类"的规则,但这里我做了一个例外,因为我经常处理非常大的模式。即使在它们自己的目录中,我也不希望在生成新版本的代码时必须区分数十(甚至数百)个文件。我发现把所有生成的代码放在一个文件中是非常方便的。

现在,提供一个可能的解决方案- Resharper有能力将所有的类从一个文件中取出,并将它们放在它们自己的文件中。如果在解决方案资源管理器中右键单击该文件,则可以说Refactor→将类型移动到匹配的文件中…。当然,这并不像这样生成它那么方便,但我不知道有什么工具可以做到这一点。

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

这是一个简单的解决方案,但我花了很长时间才弄清楚。你必须使用xsd.exe一次编译所有的类,所以你只需要运行一个命令,而不是运行两个单独的命令:解决方案C: ' '项目> xsd.exe类型。xsd的请求。xsd的回应。xsd/c现在您有了一个文件Response。Xsd,包含所有三个类