0
我需要按照給定的標籤順序重新排列大型XML文檔(大小> 50 GB)。重新安排大型XML文檔
例如: order [] = {o3,o2,o1};
Inputfile中:
<objects>
<o1>
// Some Data
</o1>
<o2>
// Some Data
</o2>
<o3>
// Some Data
</o3>
</objects>
OUTPUTFILE:
<objects>
<o3>
// Some Data
</o3>
<o2>
// Some Data
</o2>
<o1>
// Some Data
</o1>
</objects>
我的方法: 我從開始讀取的文件,直到我遇到的對象標籤的話,我創建臨時文件的標籤O1,O2,O3並做到這一點,直到我到達文件的結尾。現在使用該命令創建一個新文件。我用C++ ifstream,ofstream來執行上述任務;
這種方法需要6小時才能完成以下任務。 函數原型是:void重新排列(string tag,string inputfile); 50GB文件中的對象數大於12000000. 任何人都可以爲我提供另一種提高性能的方法嗎?
在此先感謝。
現在它採取你的方法3小時。但我想進一步提高性能,還有其他方法嗎? 謝謝。 – 2012-02-16 11:39:59