C#:使用XSD.exe从XSD文件创建类(帮助XSD文件中的循环引用)

时间:2011-08-16 14:38:04

标签: c# .net xsd xsd.exe

我正在尝试从以下XSD file生成C#类。

我使用生成C#类的选项运行xsd.exe。理想情况下,我想从XSD创建一个ORM(从而从模式文件生成DDL),但我不确定XSD.exe是否可以继续前进。

无论如何,这就是我想做的事情(紧急程度递减)

  1. 从XSD文件创建类
  2. 通过(自动生成的?)ORM
  3. 提供CRUD功能(活动记录模式)
  4. 从XSD自动生成DDL,并使用XSD中指定的允许值填充数据库。
  5. 对于最后一个,我怀疑我可能不得不使用XSLT一起破解某些东西。

    从第一个问题开始,我像这样运行xsd.exe:

    xsd mddl.xsd /c /eld /o: c:\some\folder
    

    运行上述命令的输出是:

    - Group 'mathNode.model' from targetNamespace='http://www.mddl.org/mddl/3.0-beta' has invalid definition: Circular group reference.
    

    现在我是XML / XSD等的新手 - 所以我目前仍然坚持如何解决这个问题。有人可以找出导致循环引用的原因 - 更重要的是,如何修复它?

1 个答案:

答案 0 :(得分:0)

您可能已经看过this;它抱怨同样的问题,答案建议手工创建类来处理序列化。对我来说似乎不是一件好事,但你去了。

我遇到了与我们已经给出的架构相同的问题,并研究了可能能够解决这个问题的其他工具。从XML Schema的角度来看,这是否实际上是有效的信息存在冲突;大多数人认为它是(虽然MS不同意:link)。