2010-07-21 48 views
1

我有一个时间决定一个方向去与我建立一个类lib。XSD .net代码gen +替代序列化方法

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

然而 - 到与该XML(API也是标准的一部分)被称为该API需要查询中以及strucutred为XML,而是用从基部XSD一些方差,具体有:

-presence或缺乏标签表示特定字段应该被“选择”或以其他方式使用(更新,删除,添加等)。

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

我很可能会使用上面的代码gen框架之一来为查询类型对象构建辅助代码以补充主要数据对象。

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

  • 使用“手册”连载,可以看一个单独的查询对象,并确定哪些字段包含/排除的方法,和如果查询指定了多个值,也可以创建重复标签。

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

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

  • 使用匿名类型指定字段从这个

除此之外的一个子集,并geneare查询XML,我还需要弄清楚如何破解前面提到的代码生成fremeworks到地址无论我去哪个方向。

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

回答

0

LINQ to XSD正在寻找开发人员。这将是很好的带来一些新的想法和修复错误。我保持了一段时间,但我把注意力转向了CityLizard Framework,它也有一个“XSD到C#”生成器。

+0

可编译的html,这是一个很酷的项目谢尔盖。 – 2011-02-14 15:23:38