2011-02-06 89 views
7

我聽說LINQ to XML有一些性能問題,我的一些朋友建議我不要在我的應用中使用它。我找不到任何與MSDN相關的東西,我不想依賴「某些互聯網博客」。有沒有人知道關於這個問題或一些可靠來源的官方觀點?linq to xml性能

+0

比較XPath和LINQ to XML:http://msdn.microsoft.com/en-us/library/bb675156.aspx – 2011-02-06 03:18:53

+0

相關:http://stackoverflow.com/questions/14000846/xdocument-performance – nawfal 2015-08-20 07:45:03

回答

12

使用LINQ to XML將整個文件讀入內存中。

如果你正在閱讀一個巨大的XML文件(數百兆字節),這是一個問題。
相反,您可以使用原始XmlReader,該原始XmlReader僅提供XML文件的僅前向視圖,並且不會一次讀取整個文件。

如果你正在處理正常大小的XML文件,那麼LINQ to XML將會很好。

LINQ to XML比XmlReader更容易使用幾個數量級。
如果您知道您將處理200MB XML文件,或者您已測量過性能並證明XDocument構造函數太慢,那麼您應該只使用XmlReader。