xml 字符串到对象的性能最高的代码是什么
我正在尝试优化一些现有代码(其中速度是主要标准),这些代码将 xml 字符串加载到 XmlDocument 中,然后获取诸如此类的值,
XmlNodeList listaa = xmlDoc.GetElementsByTagName("aa");
if (listaa.Count > 0)
myObj.aa = Convert.ToDouble(listaa[0].InnerText);
而
上述显然不是最好的方法,想知道其中是否有任何新内容.net 4.0 可能会提高速度,也许还会提高可读性,
谢谢
注意 - xml 字符串的大小约为 100-200 字节,因此使用 xmlreader 与读取 to 相比,并没有真正提高性能。一个 xml 文档!
I'm trying to optimize some existing code ( where speed is the primary criteria ) which loads an xml string into XmlDocument and then gets the values like so
XmlNodeList listaa = xmlDoc.GetElementsByTagName("aa");
if (listaa.Count > 0)
myObj.aa = Convert.ToDouble(listaa[0].InnerText);
and so on
while the above is obviously not the best approach, wondering if there's anything new in .net 4.0 that might improve the speed and perhaps readability as well
thanks
Note - the xml strings are approx 100-200 bytes in size so there's not really a whole lot of performance improvement using xmlreader vs. reading to a xmldocument !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最快的方法是使用古老而著名的 XmlReader。尽管代码的可读性会变差,但您将获得最高的性能。
The fastest approach is to use old and famous XmlReader. Though readability of your code will be worse but you will get the highest performance.
您可以使用XML 序列化。它非常高效,因为它生成序列化程序集并重用它们(您可以预先生成程序集,以便在第一次运行时获得更好的性能)
You can use XML serialization. It's quite efficient because it generates serialization assemblies and reuses them (you can pre-generate the assemblies for better performance on the first run)