CoreData. Как мне заполнить мою модель данных из файла XML? - PullRequest
0 голосов
/ 30 июня 2011

В общем, я отношусь к CoreData, но в настоящее время я вращаю свои колеса в отношении того, как заполнять мою модель данных, которая представляет собой циклический граф объектов из файла XML с простым олециклическим графом данных.

В частности, в моей модели данных есть - надуманный - циклический шаблон:

A.b ----------------> B
B.a ----------------> A

A.widgets ------- >> Виджет
Widget.a ---------> A

B.widgets ------------- >> Виджет
Widget.b --------------> B

Мой XML-файл слабо связан с моделью данных, поэтому мне нужно выполнить некоторое переопределение / размытие для анализа его данных в модели данных, но это не является суть моей проблемы. Я борюсь с тем, как справиться с циклическим характером графа модели данных. Как правильно связать сущности вместе, надежно? У графа объектов нет «корня», поэтому очевидный обход не ясен.

1 Ответ

0 голосов
/ 30 июня 2011

Я решил это для различных потребностей загрузки XML и JSON, но не сделал обобщенного решения.

  1. Визуализация этого циклического графа в виде дерева с корнем.Выберите корень таким образом, который имеет смысл для вашего приложения.
  2. Уникально идентифицируйте каждый узел, на который будет ссылаться.дерево сломалось), используя его идентификатор.Добавьте эту «мягкую ссылку» и к модели.
  3. Сопоставьте идентификаторы с объектами в словаре при загрузке и создании их.
  4. После полной загрузки исходного дерева выполните итерацию по вашей модели втак же, как ваше дерево XML для разрешения программных ссылок.Загрузите объекты, на которые они ссылаются, из словаря и назначьте их в модель.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...