使用小写的所有节点创建自定义XMLSerializer

时间:2012-08-22 12:21:00

标签: .net xml

我正在使用XmlSerializer为我的类生成XML输出。是否可以创建一个自定义XMLSerializer,其中所有xml节点都是小写的?我不想在我的类中为每个字段字段添加属性,以小写字母指定节点。

谢谢你, 安吉拉

2 个答案:

答案 0 :(得分:4)

这取决于你想做多少工作。添加属性是最简单的选择,但是你说你不想这样做。你可以用小写的名字命名这些类,但这是接近这个的可怕方式,IMO。

可以告诉XmlSerializer在运行时使用XmlAttributeOverrides做什么 - 但是你需要使用反射来告诉它你要调整的所有成员,但请注意:如果你这样做,你必须缓存并重新使用这样的序列化器;如果每次都通过XmlSerializer创建一个新XmlAttributeOverrides,则会泄漏程序集内存。

MSDN

上有一个例子

答案 1 :(得分:2)

这些年来我见过的最好的例子是here,由Daniel Cazzulino撰写。我发现它非常优雅,因为它覆盖了XmlTextReaderXmlWriter,使序列化完全他想要它做什么。希望你喜欢阅读他的博客!