性能:XmlSerializer vs XmlReader vs XmlDocument vs XDocument

Kam*_*yar 6 .net xmldocument xmlreader linq-to-xml xmlserializer

我正在开发一个小型Web项目,并希望读/写XML文件.表现是我​​的第一要务.

我来这篇关于比较上述方法的伟大帖子除外XmlSerializer.

我更喜欢,XmlSerializer因为它使代码更清洁.但我不知道它的表现.XmlSerializer内部使用什么样的写入XML文件?

Mar*_*nen 5

至于XmlSerializer的性能,请参见http://msdn.microsoft.com/en-us/library/182eeyhh.aspx,其中说:

XmlSerializer 创建 C# 文件并将其编译为 .dll 文件以执行此序列化。在 .NET Framework 2.0 中,XML 序列化程序生成器工具 (Sgen.exe) 旨在提前生成这些序列化程序集,以便与应用程序一起部署并提高启动性能。

因此,您可以通过使用 sgen 工具http://msdn.microsoft.com/en-us/library/bk3w6240.aspx来提高 XmlSerializer 的性能,这样您就可以避免创建 new XmlSerializer() 时出现的性能损失并编译 C# 文件。