私はいくつかの巨大なxmlファイル、1 + gbを持っています。私はそれらといくつかのフィルタリング操作を行う必要があります。私が作ってみた最も簡単なアイデアは、彼らからTXTとReadAllTextとして保存し、C#でOutOfMemory例外を回避するには?
var a = File.ReadAllText("file path");
a = a.Replace("<", "\r\n<");
のようないくつかの操作をやって起動するために、私はそれをしよう瞬間が、しかし、プログラムがメモリ不足にクラッシュしています。私はそれを実行している間に私のタスクマネージャーを見て、RAMの使用率は50%に上昇し、それがプログラムに到達する瞬間に死ぬ。
OutOfMemory例外を回避してこのファイルをどのように操作するか、またはプログラムがより多くのメモリを使用できるようにするための考え方はありますか?
文字列ではなくストリームを使用します。 –
交換品は「フィルタリング」ですか、それとも別のものですか?とにかく['XmlReader'](https://msdn.microsoft.com/en-us/library/system.xml.xmlreader(v = vs.110).aspx)を見てください。 (私はそれが正しいと思います) – Ryan
一般に、XMLを「単なる文字列」として扱うのを避けるようにしてください。あなたが作り出そうとしているものがXMLではなく、「XMLのように見えますが、私は技術的にそうでないような奇妙なことをしています。 XMLこれ以上 " –