我正在使用 C# 中的解析器从多个 xml 文件中获取数据并将它们放入我自己的数据库中。
现在我有这个工作的代码:
List<CaseFile> caseFiles =
(
from e in XDocument.Load(xmlDoc).Root.Elements("application-information").Elements("file-segments").Elements("action-keys").Elements("case-file")
select new CaseFile
{ (......)
}).toList();
这将创建一个 CaseFile 对象列表,我稍后将其发送到其他方法以将它们的数据放入我的数据库中。这样做的问题是我需要一次解析许多文件,有些文件大到 1GB,没有一个小于 200MB,所以这对内存产生了巨大的需求。
有没有办法修改我的语句,以便对于它找到的每个 CaseFile,它会立即将其发送到其他方法,而不必先创建它们的完整列表?