我有几个超过1GB的巨大XML文件,需要进行一些筛选操作。我想到最简单的方法是将它们保存为txt文件,然后使用ReadAllText函数读取它们,并开始进行一些操作,例如:
var a = File.ReadAllText("file path");
a = a.Replace("<", "\r\n<");
但是,当我尝试这样做时,程序会因内存不足而崩溃。我在运行程序时查看了我的任务管理器,RAM使用率上升到50%,一旦达到此值,程序便死亡。
有没有人有任何关于如何操作此文件以避免OutOfMemory异常或允许程序使用更多内存的想法呢?
ReadAllText
读取了整个文件的一个副本,然后Replace
创建了第二个副本。 - Hans Kesting<a:thing xmlns:a="urn:123"/>
和<b:thing xmlns:b="urn:123"/>
也是相同的。 - Damien_The_Unbeliever