我有很多要使用XmlSerializer
序列化的属性。我需要使用[XmlAttribute]
标记每个(简单)属性,以使输出更短。我想知道是否有更简单的方法来做到这一点。有没有办法将它作为类的默认值,以便所有简单的类型属性将被序列化为属性而不是元素?
答案 0 :(得分:2)
不,基本上。好吧,可以在运行时使用XmlAttributeOverrides
完成工作,检查代码中的类型并适当地设置属性,然后确保缓存序列化程序(如果使用时不缓存) XmlAttributeOverrides
泄漏内存,因为未收集生成的程序集。但这听起来像更多工作。
重新缩短输出; xml压缩GZip或Deflate非常好......
当然,如果您不需要 xml ,但只需要序列化的数据,还有其他选择。
答案 1 :(得分:0)
您可以创建code snippets。
为已设置属性的属性创建一个,并在编写时使用它。