使用抽象复杂类型为模式生成类

我正在使用一些定义抽象复杂类型的模式,例如。

 

然后,此类型由模式中的另一个复杂类型引用:

      

当我运行“xsd.exe / d / l:CS MySchema.xsd”时,我收到此错误:

错误:处理MySchema.xsd’时出错。 – 为DataSet”生成代码时出错。 – 无法将输入xml文件内容转换为DataSet。 DataSet无法为节点Data实例化抽象ComplexType。 – DataSet无法为节点Data实例化抽象ComplexType。

它似乎不是无效的架构。 还有其他人遇到过这个问题吗?

谢谢

缺口

在评估了几种不同的模式到代码工具之后,我们发现能够处理我们的模式(非常大且非常复杂)的唯一工具是Liquid XML( http://www.liquid-technologies.com/ )。

我从来没有遇到过这个问题,但我很快就知道xsd.exe有很多缺点。 我们很久以前就开始使用CodeXS了。 该产品是一项Web服务,但该代码可用作命令行工具。

它有自己的疣,但它生成的代码要好得多,而且是免费的。 另外,它是可扩展的,为它添加自己的插件实际上非常简单。

可能,它不会有同样的限制?

我知道这是一个老问题,但本周我需要回答这个问题。 我按照@ ng5000的建议尝试了Liquid Studios,发现软件非常笨重。 此外,cs输出非常复杂,它为我提供了超过800行代码,用于具有12个简单属性的单个实体。

我强烈推荐Xml2CSharp ,这是一个使用XML属性修饰器生成漂亮,简单的POCO的Web工具。