有没有类似于JAX-B的C#框架?

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

1
https://dev59.com/FXRA5IYBdhLWcg3w9y10 - AakashM
1
我不认为这是一个重复的问题。从问题中我理解到,OP想要找一个类似于JAXB的框架而不是一个外部工具... - bruno conde
3个回答

4

就像Bruno所说的那样,您要查找的内容在System.Xml.Serialization命名空间中,更具体地说是在XmlSerializer类中。要将对象序列化为XML,只需调用Serialize方法,反之可以使用Deserialize方法。如需了解更多信息,请查看MSDN主题介绍XML序列化

有时在序列化到XML时可能会出现问题,如果您遇到问题,请务必查看(并贡献给)此线程


1

0

有一些类似于JAXB的东西,但并不完全相同。Allon Guralnek和bruno conde提到了这个类似之处。区别在于反序列化。使用XmlSerializer时,您必须提供一个类型。该类型可以来自XSD文件,即XML模式,该文件由XSD.EXE工具处理。该工具为XML模式中定义的每个类型创建一个带有部分类的cs文件。这很方便。

但是,如果没有有效的xml类型,您无法在XmlSerilaizer中使用derserializer。场景可能如下所示。您从消息队列接收格式为xml的消息。您可能会收到XML模式中定义的任何类型。使用JAXB将xml反序列化为对象,并使用getClass属性确定它是哪种类型。我还没有找到在C#中执行类似操作的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接