C#中的Jaxb等价物

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

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

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

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

另请参阅SO问题: XSDObjectGen与Xsd.exe

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

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