在Java中使用JAXB很容易从xml模式文件生成一组Java类,符合该模式的xml可以反序列化为。
是否有一些与JAXB等效的C#?我知道Linq可以对xml文件进行序列化和反序列化。但是如何从xml模式文件生成C#类,然后将这些类与linq一起使用?
答案 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。我已经在重大项目中使用了这个并取得了巨大的成功。