NSXMLParser плохо справляется с большими файлами, поскольку загружает все в память. Вместо этого вам следует подумать о том, чтобы основывать свою реализацию на libxml2, который способен анализировать документ небольшими порциями, что делает его более быстрым и более эффективным в отношении памяти.
Существует отличный пример, показывающий, как это можно реализовать:
Пример XMLPerformance
libxml2 может быть скомпилирован с поддержкой множества различных кодировок, как указано в документации . Однако я не проверял, поддерживается ли Windows-1257 по умолчанию на iPhone.
Claus