2013-04-04 3 views
3

Я создаю простое приложение для iOS, состоящее из нескольких UITableViewControllers. Информация, отображаемая в контроллерах представления, будет поступать из XML-файла (который я буду включать в ресурсы проекта или напрямую из Dropbox или iCloud). Содержимое файла xml будет основываться на пользовательском вводе.Генерация и анализ XML из основных данных в iphone

Несколько замечаний:

Данные основаны на входе пользователя означает не статичны. В идеале приложение будет загружать данные в «Основные данные» из xml-файла. Каждый дополнительный запуск приложения будет просто извлекать данные из некоторого источника Core Data (который я еще не знаю), вместо того, чтобы повторно загружать его из текстового файла.

прямо сейчас я использую XMLWriter создание простого XML-файла

Пожалуйста, наставит меня спасибо

+0

у делать и нужно генерировать XML локально, так как у сказал у будете получать от сервера/облака .. U нужно просто разобрать XML-файл получил и сохранить его в БД, и просто запросить БД с помощью CoreData & display в tableview .. – vishy

+0

@ vishy, ​​потому что сначала мне нужно сгенерировать xml на основе пользовательского ввода программно, а затем я отправлю его на сервер –

+0

для генерации xml для запроса сервера, это будет легко, просто используйте форматированный 'NSString ', поскольку все узлы xml являются статическими. – vishy

ответ

2

Лучший образец здесь, кажется, использовать XML-файл «Семя» вашей базы данных основных данных. Это происходит только в первый раз. После этого вы больше никогда не будете использовать свой XML-файл, а просто обновите и синхронизируете свое хранилище данных.

Это намного лучше, чем генерация XML. Проблема с файлами XML (например, списками свойств) заключается в том, что вам нужно написать весь файл для каждого небольшого поэтапного изменения. Если вы синхронизируете с магазином где-то в Интернете, это может занять слишком много времени, чтобы быть практичным.

Предполагая, что вы можете получить объект фундамента из файла XML, просто выполните итерацию по объекту и вставьте Core Data по одному.

for (NSDictionary *dict in xmlArray) { 
    Entity *newObject = [NSEntityDescription 
     insertNewObjectForEntityForName:@"Entity" 
       inManagedObjectContext:self.managedObjectContext]; 
    newObject.attribute1 = [dict objectForKey:@"attribute1"]; 
    newObject.attribute2 = [dict objectForKey:@"attribute2"]; 
    // etc... 
} 
[self.managedObjectContext save:nil]; 
+0

Прошу подробно объяснить ваш ответ ?, потому что, поскольку я новичок для основных данных, для меня он немного сложный. –

+0

Вы знаете, как получить объекты из XML-файла? – Mundi

+0

Да, я знаю, и я попытался получить весь объект и внести его в строку –

Смежные вопросы