我想對磁盤上已排序的大塊XML文件進行合併排序。沒有機會,他們都適合記憶。我的XML文件由記錄組成。從內存中一次讀取一條記錄中的XML內存
說我有n個XML文件。如果我有足夠的內存,我會將每個文件的全部內容讀入相應的隊列中,每個文件一個隊列,比較每個隊列中每個項目的時間戳,並將具有最小時間戳的那個輸出到另一個文件(合併文件) 。這樣,我將所有小文件合併成一個大文件,所有條目都按時間排序。
問題是我沒有足夠的內存來讀取所有帶.ReadToEnd的XML,以便傳遞給XDocument的.Parse方法。
是否有一種乾淨的方式來讀取足夠的記錄,以保持每個隊列填充下一個傳遞比較其XElement屬性「TimeStamp」,記住它從磁盤讀取哪個XElement?
謝謝。
一月,謝謝你,那就是我一直在尋找的東西。驚人的代碼這種東西取消了多少代碼。 – Ivan
不客氣。通過點擊左邊的綠色複選標記,可以將此標記爲答案,以幫助我。您也可以爲您以前的問題這樣做。 – 2011-08-10 08:52:29