C#中的Jaxb等价物

时间:2009-04-19 13:35:42

标签: c# linq linq-to-xml jaxb

在Java中使用JAXB很容易从xml模式文件生成一组Java类,符合该模式的xml可以反序列化为。

是否有一些与JAXB等效的C#?我知道Linq可以对xml文件进行序列化和反序列化。但是如何从xml模式文件生成C#类,然后将这些类与linq一起使用?

3 个答案:

答案 0 :(得分:16)

如果你正在使用Visual Studio,尝试XML Schema Definition Tool。它采用您的模式定义并生成C#类 - 或者它可以采用另一种方式并从类生成模式定义。它还有许多其他与XML相关的转换。

答案 1 :(得分:4)

Microsoft提供了一个名为XsdObjectGen的更好的工具,即XSD对象代码生成器。它就像xsd.exe,但更好。也是免费的,它不是.NET SDK的一部分,而是单独下载。

另见SO问题:XSDObjectGen vs Xsd.exe

答案 2 :(得分:1)

研究使用DataSet。这与使用“Java Beans”有点不同。整个XML文档都在一个类中处理分层的表集。好的部分是OOP的封装理论实际上是强制执行的。哇,微软得到了一些正确的说法,太阳能够蠢蠢欲动。

反正。如果你想让事情变得更有趣,你也可以查看类型化的DataSet。我已经在重大项目中使用了这个并取得了巨大的成功。