2012-11-28 61 views
0

這是一個兩部分問題,用於處理40MB xml文件。如何比較並查找可可中兩個XML文件之間的差異?

•在後臺持續運行的程序的內存中存儲的合理大小是多少?
•如何查找XML文件中已更改的內容。

所以在第一次讀取XML時就加載到NSData中,然後上傳到服務器。

現在,不是每次更改時都上傳40mb的XML,我寧願上傳只包含更改內容的「增量」文件。程序會監視文件的變化,並在修改時激活。從我所看到的情況來看,我需要解析舊版本的xml文件並解析修改過的xml文件,然後比較它們?每次修改文件時,像這樣在內存中存儲80mb是不合理的嗎?現在我假設這必須用DOM解析器完成,因爲我看不到如何用SAX解析器比較兩個文件,因爲它只存儲了部分文件?

我是這個新手,所以任何幫助將不勝感激!

回答

0

的NSXMLParser結束了最有用的這個

0

要比較兩個文件:

有很多方法可以做到,(由於文件被認爲是,我可能不正確):

sdiff file1.xml file2.xml UNIX命令 您可以使用此命令蘋果腳本。

-[NSFileManager contentsEqualAtPath:andPath:] 此方法檢查,看看是否在給定的路徑兩個文件是相同的文件,然後比較它們的大小,最後他們的內容進行比較。

對於其他部分:

被認爲是後臺進程多大,我不這麼認爲,因爲它重要的應用程序。您可以將它們保存到臨時文件中。即使Safari瀏覽器使用130+ MB,因爲您可以通過活動監視器輕鬆檢查。

+0

根據蘋果的文檔,contentsEqualAtPath:andPath:只返回一個「YES」或「NO」,具體取決於該文件是相同的。所以這不是我正在尋找的東西,我需要知道XML中具體的哪些部分發生了變化。 – urbanrider

+0

讓它再次檢查....和sdiff怎麼樣? –

相關問題