【问题标题】:automatically generate strong types in C#在 C# 中自动生成强类型
【发布时间】:2013-06-10 14:26:52
【问题描述】:

我正在寻找一种工具,它可以从我的 W3C 兼容 XSD 文件中自动生成强类型并保持完全保真度。我可以灵活地使用 Java 或 C#。我尝试过使用 JAXB 和 XSD.exe,但是在处理 SimpleType 以及更复杂的类型定义(如 AttributeGroup、ComplexType 等)时,包含的业务逻辑会丢失。我也没有找到处理习语和集合、类型运算符以及本地定义的自动解决方案。

有人知道这样的工具吗?

【问题讨论】:

  • 您能否更具体地说明 xsd.exe 或其他标准工具不够好的原因? XSD 中有什么样的“包含的业务逻辑”会迷路?如果 MS 没有合适的工具,那么常用的方法是编写 Visual Studio 扩展。这将允许您在项目中包含 XSD,这些 XSD 会自动生成您需要的代码。 Google 'visual studio extensions XML' 或类似的。
  • 我正在处理复杂的模式,例如在 ISO20022 模式中包含 SimpleTypes(IBAN 参考) Pain.001.001.04.xsd 处理时会生成一个简单的字符串并保存与业务相关的信息在 xs:pattern 中数据丢失。我不想在编码方面进行手动工作。
  • 我对工具空间的了解不够,无法为您指出可以保留 XSD 的所有方面(包括限制和模式)的工具。有很多 Visual Studio 加载项可供选择。如果你没有找到任何东西,那么不要排除编写你自己的 VS 插件。使用 T4 或 CodeDOM 编写代码生成器并不难。

标签: c# jaxb xsd strong-typing


【解决方案1】:

XSD2Code 是您可以找到的最好的(免费)工具:http://xsd2code.codeplex.com。但是,在同意 Brian 的情况下,您能否提供更多详细信息?

【讨论】:

  • 我检查了 XSD2Code,与上面提到的问题相同。有人告诉我检查 Jet Messaging Technologies,我现在正在与他们核实。
  • 我明白了。 [这里,在倒数第二条评论] (stackoverflow.com/questions/386155/…),他们提到 Linq2XSD 会处理 xs:pattern 限制。
猜你喜欢
  • 2010-12-07
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
  • 2010-10-20
  • 2016-12-25
  • 2014-09-05
  • 2022-11-03
  • 2015-04-07
相关资源
最近更新 更多