C #: xml-сериализация узлов с циклическими ссылками

У меня есть класс Node примерно так:

class Node {
    IEnumerable<Node> inputs;
}

Который в основном определяет простой граф. Я хочу сериализовать свой график в удобочитаемую форму, поэтому обычно я бы сказал, что xml будет лучшим вариантом. Но XML не создавался с учетом циклических зависимостей :)

Итак, что было бы лучше всего для сериализации моего графа?

Я могу придумать несколько способов:

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

Но я думаю, что у других людей должна была быть такая же проблема раньше, поэтому может быть несколько лучших вариантов. Кто-нибудь знает о надежном подходе?

6
задан Pygmy 15 December 2010 в 10:52
поделиться