【问题标题】:.Net class generation from XSD with union使用联合从 XSD 生成 .Net 类
【发布时间】:2010-12-15 05:36:00
【问题描述】:

我一直致力于为与筛选相关的独立包创建代表 HR-Xml 3 规范的类。我遇到了一些问题,但目前我认为主要问题是 xsd.exe 中缺乏对 xsd:union 语句的支持。

当 Xsd.exe 遇到简单类型时 由联合定义,它忽略 定义和使用 其内置的字符串数据类型 地方。
来自-http://msdn.microsoft.com/en-us/library/bc57azyw%28VS.85%29.aspx

我在各种论坛和新闻组上看到的唯一解决方案是重组 XSD 以不使用联合?但是,即使我需要的实体子集很小,联合语句的数量也接近 100。也许这是唯一的解决方案?

我已经坚持了好几天了,除了“不,那不起作用”之外,还没有找到任何真正有用的东西。最后,我需要让它以某种方式工作。任何关于工具、重新设计、转换器的建议,以及任何能让我获得这些课程的东西!我什至已经开始考虑生成 Java 类,然后将它们转换为 C#……我不知所措

提前致谢!我当然希望有一些解决方案!


最后,我们决定在第一阶段不实施 HR-Xml,也许等我们回到它的时候,我会有更好的运气。不过,如果有人阅读了这篇文章并有任何建议,请留下反馈,因为我计划对此进行一段时间的监控。

【问题讨论】:

  • 刚刚使用 Sparx Enterprise Architect 生成类,它做得比其他任何东西都好。我会说这可能是您遇到问题时使用的工具。不幸的是,它搞砸了模式中的其他一些结构,但它比我尝试过的任何其他结构都更接近。

标签: c# code-generation union xsd.exe


【解决方案1】:

您可以轻松快速地尝试两件事,看看它们是否能提供任何帮助:

  • 使用 WCF svcutil.exe 实用程序(带有 /dconly 开关)而不是 xsd.exe - 这将尝试创建一个基于 WCF DataContractSerializer 的类,它可以处理比标准更好的一些事情。 NET XML 序列化程序

  • 尝试使用替代的“XSD 到代码”生成器,例如 Codeplex 上的 Xsd2Code 之类的东西

马克

【讨论】:

  • 感谢您的回答,不幸的是我已经尝试了这两种方法都没有成功>openapplications.org/oagis/9”中的类型“BusinessObjectDocumentType”。属性必须是可选的,并且来自命名空间“schemas.microsoft.com/2003/10/Serialization”。
猜你喜欢
  • 2011-07-10
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 1970-01-01
  • 2011-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多