【发布时间】:2010-10-20 09:47:40
【问题描述】:
在 Java 中使用 JAXB 很容易从 xml 模式文件生成一组 Java 类,符合该模式的 xml 可以反序列化为。
是否有一些 C# 等效于 JAXB?我知道 Linq 可以序列化和反序列化与 xml 文件之间的类。但是如何从 xml 模式文件生成 C# 类,然后将这些类与 linq 一起使用?
【问题讨论】:
标签: c# linq linq-to-xml jaxb
在 Java 中使用 JAXB 很容易从 xml 模式文件生成一组 Java 类,符合该模式的 xml 可以反序列化为。
是否有一些 C# 等效于 JAXB?我知道 Linq 可以序列化和反序列化与 xml 文件之间的类。但是如何从 xml 模式文件生成 C# 类,然后将这些类与 linq 一起使用?
【问题讨论】:
标签: c# linq linq-to-xml jaxb
如果您使用的是 Visual Studio, 试试XML Schema Definition Tool。它采用您的模式定义并生成 C# 类——或者它可以采用另一种方式并从类中生成模式定义。它还有许多其他与 XML 相关的转换。
【讨论】:
微软有一个更好的工具,叫做XsdObjectGen,XSD 对象代码生成器。它类似于 xsd.exe,但更好。同样免费,它不是 .NET SDK 的一部分,但需要单独下载。
另见 SO 问题:XSDObjectGen vs Xsd.exe
【讨论】:
研究使用 DataSet。这与使用“Java Beans”有点不同。整个 XML 文档都被视为一个类中的分层表集。好的部分是 OOP 的封装理论实际上得到了执行。哇,Microsoft 做对了 Sun 拒绝的事情。
无论如何。如果您想让事情变得更有趣,您还可以查看类型化的 DataSet。我已在重大项目中使用它并取得了巨大成功。
【讨论】: