Вы можете выполнять анализ в автономном режиме (т. Е. Не в приложении iPhone) или в Интернете (т. Е. В приложении iPhone). Это зависит от того, нужен ли ваш XML-файл приложению во время выполнения.
Если вы просто заинтересованы в том, чтобы содержимое файла XML находилось внутри БД SQLite, то я бы порекомендовал выполнить анализ в автономном режиме, поскольку ваше приложение будет работать быстрее, поскольку оно не анализирует XML при каждом запуске.
Как сказал Хоанг, вам следует по возможности использовать Core Data, который может использовать SQLite для своего резервного хранилища. Это зависит от того, нужно ли вашему приложению работать на устройствах, предшествующих ОС 3.x, поскольку Core Data доступна только в iPhone OS 3.0b и более поздних версиях. Базовые данные значительно упрощают работу с базами данных и предоставляют несколько простых мелочей, упрощающих создание приложения (например, NSFetchedResultsController
).
Я задал похожий вопрос несколько месяцев назад. Основываясь на полученных ответах, я написал утилиту командной строки на основе какао, которую я запускаю для предварительной обработки моих данных в форме БД SQLite, которую мой проект приложения iPhone просто включает в качестве другого ресурса. Поскольку вы уже используете NSXMLParser
, я предполагаю, что большая часть вашего кода синтаксического анализа должна легко "переноситься" с помощью функции копирования и вставки.