ディスク上のXMLファイルのソートされたチャンクに対してマージソートを実行しようとしています。彼らがすべて記憶に収まる機会はありません。私のXMLファイルはレコードで構成されています。ディスクからXMLを1度に1つのレコードでメモリに読み取る
私はn個のXMLファイルがあります。十分なメモリがあれば、各ファイルの内容全体を対応するQueue、各ファイルの1つのキューに読み込み、各キューの各項目のタイムスタンプを比較し、最小のタイムスタンプを持つものを別のファイル(マージファイル) 。この方法で、すべての小さなファイルを1つの大きなファイルにマージし、すべてのエントリを時間ソートします。
問題は、XDocumentの.Parseメソッドに後で渡すために.ReadToEndを使用してすべてのXMLを読み取るための十分なメモリがないことです。
読み込み済みのXElementを覚えているXElement属性「TimeStamp」を比較する次のパスで各キューを満たすために十分なレコードを読み込むクリーンな方法はありますか?
ありがとうございます。
Jan、ありがとう、それは私が探していたものです。どのくらいのコードがこの種のものを廃止するのか驚くべきことです。 – Ivan
ようこそ。左の緑色のチェックマークをクリックすると、これを答えとしてマークすることができます。これまでの質問にもそうすることができます。 –