3

我们正在寻找一个支持编组和解组的库,如 Java 中的 JAX-B,是否有任何最先进的库可供使用?

4

3 回答 3

4

就像 Bruno 所说,您正在寻找的是System.Xml.Serialization命名空间,更具体地说是XmlSerializer类。要将对象序列化为 XML,只需调用Serialize方法即可,反之则可以使用Deserialize方法完成。有关详细信息,请查看 MSDN 主题介绍 XML 序列化

序列化为 XML 时有时会遇到问题,如果遇到问题,请务必查看(并参与)此线程

于 2009-08-19T12:00:52.637 回答
1

System.Xml.Serialization命名空间是您所需要的。它可以与属性一起使用,例如 Java 注释。

于 2009-08-11T09:16:42.473 回答
0

有类似的东西,但不完全是 JAXB。Allon Guralnek 和 bruno conde 也说过类似的话。区别在于反序列化。使用 XmlSerializer 你必须给出一个类型。该类型可以来自 XSD 文件 XML Schema,该文件由 XSD.EXE 工具处理。该工具为 XML Schema 中定义的每个类型创建一个带有部分类的 cs 文件。使用起来很方便。

但是当您没有有效 xml 的类型时,您不能在 XmlSerilaizer 中使用反序列化器。场景可能看起来像这样。您从消息队列接收 xml 格式的消息。您可能会收到 XML 模式中定义的任何类型。使用 JAXB,您可以将 xml 反序列化为对象并使用 getClass 属性来确定它是哪种类型。我还没有在 C# 中找到类似的方法来做到这一点。

于 2015-01-23T09:54:53.027 回答