是否XDocument.Load
将整个文件加载到内存中?如果不是,我应该使用哪种方法来做到这一点?
我需要有一个临时文件的内容,即使在文件被删除或更改后,也可以随时进行处理。这些文件通常很小,因此将整个内容放在内存中不是问题。
是的,XDocument.Load("filePath")
将立即将完整文件加载到内存中。
MSDN http://msdn.microsoft.com/en-us/library/bb343181.aspx说:
此方法使用底层 XmlReader 将 XML 读入 XML 树。
要通过LINQ to XML提供全部功能XDocument
(这是方法的结果) ,必须立即构建。Load
XML tree
注意:对内存中数据的任何操作都不会影响文件,反之亦然。document.Save(path)
必须调用显式......所以Load
才会真正将数据读入内存