2017-09-14 57 views
-1

我有一個XML文件,我從服務器有50k元素下載。我需要在tableView中顯示這些50k元素。 但它消耗更多的內存。XML分析爲分頁

所以我認爲有任何可用的Swift XML解析器,它允許我像分析1到10下一個10-20等類似的分頁,等等。

回答

1

所有你需要的是一個SAX xml解析器,如libxml2DOM解析器將無法解析具有50K元素的數據,因爲DOM解析器將整個Document Object Model加載到內存中以構建樹並解析節點。 SAX解析器在塊中解析xml的位置。

不幸的是我知道的大部分SAX解析器都在C中。所以你必須在它們周圍編寫包裝來使用它的swift項目。好消息是有教程解釋如何使用它們。

這裏有幾個有用的鏈接將libxml2集成到swift項目中。

http://redqueencoder.com/wrapping-libxml2-for-swift/ https://www.cocoawithlove.com/2008/10/using-libxml2-for-parsing-and-xpath.html

編輯:

您可以使用NSXMLParser以及它是用Objective-C SAX解析器。你可以找到關於如何使用它與斯威夫特教程負荷

https://medium.com/@lucascerro/understanding-nsxmlparser-in-swift-xcode-6-3-1-7c96ff6c65bc