2012-05-17 24 views
0

我正在開發一個應用程序。其中我從XML解析中獲得1000個結果。每個結果都有不同的屬性。所以我爲屬性創建一個類併爲每個結果創建一個對象。我將結果保存在一個數組中。我懷疑是由於這是一個很大的結果,我可能會遇到記憶問題。如果這是一個問題,我該如何處理?請告訴我如何做到這一點。在Objective-C如何保持XML解析的巨大結果

回答

0

如果你解析一個非常大的文檔,使用NSXMLParser和委託對象來解析文檔。與其創建一個巨大的樹對象來表示XML,解析器將在每次遇到新的屬性,元素等時調用委託。這樣,您可以直接構建數據對象,而不會浪費內存在中間XML解析上樹表示。

一旦你這樣做,你可以保存創建它們時的對象,或批量。

如果您非常關注內存,實際上可以使用NSXMLParser來解析輸入流,因爲它正在下載,所以您甚至不需要在內存中擁有完整的XML文本。 (爲了避免中斷,你也可以下載到一個磁盤文件,然後從文件中解析出來。)

+0

已有xml文件存在於我的記憶中。 – user1400581