【问题标题】:XSD .net code gen + alternative serialization methodsXSD .net 代码生成 + 替代序列化方法
【发布时间】:2011-03-19 02:30:03
【问题描述】:

我正在决定使用我正在构建的类库的方向。

我有一批行业标准的 XSD,我从中生成 .net 对象。我已经使用了所有 XSD.exe、LinqtoXsd、xsd2code 甚至 OxmLibrary,但结果各不相同。但最后,我能够生成体面的 .net 类,这些类可以序列化/反序列化为标准。

但是 - 使用此 xml 调用的 api(api 也是标准的一部分)要求查询也被构造为 XML,但与基本 XSD 有一些差异,特别是:

- 标签的存在或缺失表明应该“选择”特定字段或以其他方式使用(更新、删除、添加等)。

-xsd 中的单值类型,可以在“选择”api 查询中重复,以指示该字段的 where 子句的等价物。

我可能会使用上述代码生成框架之一为查询类型对象构建辅助代码,以补充主要数据对象。

所以我正在考虑指定和序列化查询对象的方法包括:

  • 使用“手动”序列化方法,这些方法可以查看单独的查询对象并确定要包含/排除哪些字段,如果查询指定多个值,还可以创建重复标签。

  • 将每个字段更改为从可感知查询的基本类型继承,并且可以为每个元素输出正确的 xml。

  • 使用扩展方法,以便该类的每个字段都有额外的方法,可以调用这些方法来指定查询参数,并且可以重用数据对象来创建查询。

  • 使用匿名类型指定字段的子集,并由此查询xml

除此之外,我还需要弄清楚如何破解前面提到的 code gen fremeworks 来解决我前进的任何方向。

我还没有完全考虑所有这些,但我想我会把它放在那里,以防有人做过类似的工作并提出一些建议。

【问题讨论】:

    标签: .net xml-serialization code-generation xsd


    【解决方案1】:

    LINQ to XSD 正在寻找开发人员。带来一些新想法并修复错误会很好。我已经维护了一段时间,但我将注意力转移到了CityLizard Framework,它也有一个“XSD to C#”生成器。

    【讨论】:

      猜你喜欢
      • 2017-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      • 2011-01-22
      • 2014-02-01
      • 1970-01-01
      • 2018-12-10
      相关资源
      最近更新 更多