В зависимости от того, сколько XML вы получаете от веб-службы, NSXMLParser
может быть не идеальным, поскольку весь документ XML должен быть прочитан в память.
Памяти на iPhone довольно мало, поэтому использование SAX-парсера, такого как в libxml2
, вероятно, лучше для больших файлов XML. Вместо того, чтобы читать весь документ в память, XML-поток передается и анализируется на предмет определенных интересующих узлов. Объем служебной памяти меньше, поскольку одновременно сохраняется меньше данных.
Когда анализируется интересующий узел, вызывается обработчик события, чтобы сделать что-то полезное, например, сохранить где-нибудь данные узла.
В этом случае взгляните на пример проекта Apple XMLPerformance для примера кода.