是否可以在C#类集中拥有两组序列化属性?

时间:2016-06-15 15:42:13

标签: c# serialization attributes

我有一组C#类,我使用XmlSerializer进行序列化。我有一个根对象,其中有几个属性指向某些子类。我使用Attributes来控制XMl序列化,就像元素名称一样。

问题是现在我需要为同一个类使用第二种XML格式,而不删除第一种格式。我需要做的是创建一个"压缩"格式,其中XML元素名称将更小,但我想保持更详细的名称以保持清晰。这将是用户的选择。

如何在不创建第二组类的情况下实现这一目标?

1 个答案:

答案 0 :(得分:1)

好的,我有所纠正,你可以这样做。看看XmlAttributeOverrides(感谢@Paul Abbot的评论)

请注意,XML很冗长,因为它应该由外部压缩算法压缩。通过使用较少详细的名称使XML更小是更多的工作,仍然不如在结果上使用压缩库。如果您希望XML更小,请压缩它。