5

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

谢谢你,安吉拉

4

2 回答 2

4

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

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

MSDN上有一个例子

于 2012-08-22T12:31:16.587 回答
2

多年来我见过的最好的例子是在这里找到,由 Daniel Cazzulino 编写。我发现它非常优雅,因为他重写了XmlTextReaderandXmlWriter以使序列化完全按照他的意愿进行。希望你喜欢阅读他的博客!

于 2012-08-22T13:31:48.877 回答