2010-12-01 70 views
2

我有很多属性使用XmlSerializer来序列化。我需要用[XmlAttribute]来标记每个(简单)属性,以使输出更短一些。我想知道是否有更简单的方法来做到这一点。有没有办法使它作为一个类的默认值,以便所有简单的类型属性将被序列化为属性而不是元素?是否可以将[XmlAttribute]设置为默认类?

回答

0

您可以创建code snippets

创建一个与已设置的属性的属性,并写入它们时使用它。

+0

非常感谢您的回答,但我不明白的代码片段如何能帮助我在这里。如果你能详细阐述一点,我会非常感激。 – newman 2010-12-01 14:12:05

+0

@miliu - 如果你创建了一个代码片段,每次你想创建一个用`XmlAttribute`装饰的属性,你都可以使用它。当然,如果你想装饰_existing_属性,这将无济于事。 – Oded 2010-12-01 14:20:57

2

没有,基本上是这样。嗯,你能使用XmlAttributeOverrides运行工作,检查你的类型的代码,并适当设置属性,然后确保你缓存串行器(如果你使用XmlAttributeOverrides当你泄漏内存不缓存,所生成的组件做不收集)。但听起来像更多工作。

重新使输出短; XML使用gzip或deflate非常漂亮压缩...

当然,如果你不需要XML,但只需要数据序列化莫名其妙,还有其他的选择。

相关问题