使用什么序列化程序?

时间:2013-05-17 22:44:56

标签: c# serialization reflection attributes datacontractserializer

我正在使用DataContractSerializer,到目前为止它提供了我需要的一切。 现在我还需要两个功能,我已经知道DataContractSerializer无法实现这些功能。

  1. 我需要能够将某些字段序列化为XmlComments
  2. 某些成员应该直接序列化为包含对象中的Xml-Attribute。
  3. XmlSerializer既不支持选择加入,也不支持我需要的字段/私有,所以不幸的是,这是不可能的。

    在使用DataContractSerializer作为基础时,我可以以某种方式制作我自己的序列化程序,以尊重现有的“XmlAttribute”-Attribute和我的自定义“XmlComment” - 属性吗?

    也许已经有第三方序列化器提供了我需要的东西?我找不到一个。

    我不介意编写自定义序列化程序,但我希望尽可能多地重用现有代码。

1 个答案:

答案 0 :(得分:0)

您可以使用XmlSerializer。您只需要在默认规则无法处理的对象上实现IXmlSerializable,并自己完成繁重的工作。这比滚动自己的序列化器IMO还要简单。