Я использовал два подхода: NSXMLParser для простых и маленьких файлов и libxml для больших файлов.Но есть библиотеки, такие как TouchXML, которые также могут упростить процесс.
В основном, если у вас небольшой набор данных, обработка DOM в памяти может работать нормально.Но в таком устройстве, как iPhone, лучше использовать парсеры на основе SAX, такие как libxml2.
Когда вам нужно загрузить данные:
[self performSelectorInBackground:@selector(LoadYourData) withObject:nil];
не заблокируетосновной поток пользовательского интерфейса.
Для libxml2 вам нужно будет реализовать обратные вызовы C для обработки фрагментов данных, поступающих из NSURLConnection.