linq到xml的性能

Cya*_*yan 7 c# linq linq-to-xml

我听说LINQ to XML有一些性能问题,我的一些朋友建议我不要在我的应用程序中使用它.我在MSDN上找不到任何相关内容,我不想依赖"一些互联网博客".有谁知道关于这个问题或一些值得信赖的来源的官方观点?

SLa*_*aks 12

使用LINQ to XML将整个文件读入内存.

如果您正在读取一个巨大的XML文件(数百兆字节),这是一个问题.
相反,您可以使用原始XmlReader,它提供XML文件的仅向前视图,不会立即读取整个文件.

如果您正在处理正常大小的XML文件,那么LINQ to XML就可以了.

LINQ to XML比XmlReader更容易使用几个数量级.
如果您知道要处理200MB XML文件,或者如果您已经测量了性能并证明XDocument构造函数太慢,那么您应该只使用XmlReader .

  • Microsoft确实提供了如何使用Linq到Xml来传输xml文件的输入/输出的示例,这样您就不会最终将整个文件加载到内存中只有一小部分内容:http://msdn.microsoft.com/en -us /库/ system.xml.linq.xstreamingelement.aspx#Y1392 (7认同)