Классы моделирования на основе версионных файлов XSD - PullRequest
1 голос
/ 21 декабря 2010

Я в настоящее время кодирую стандарт, определенный в XML. Стандарт предоставил мне 2 XSD, которые я должен поддерживать. с критическими изменениями в обратной совместимости. Мой вопрос является общим, в котором наилучшей практикой является их реализация. Я пошел по пути использования «XSD.EXE» для генерации файлов классов для строгой типизации модели XML. Это, очевидно, привело меня к выводу, что в C # нет никакого способа версии файлов классов, кроме переопределения методов, но это не совсем понятно для меня, поскольку изменения довольно значительны с точки зрения свойств и т. Д.

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

  • Вторая идея состояла в том, чтобы сделать версию имен моей модели и процессора так, чтобы версия xsd (тег в XML) была такова, чтобы у id был класс с именем «Equipment_1_0» и «Equipment_1_1» и использование фабрики, чтобы вернуть мне правильную тип для десериализации как, но это кажется хакерским.

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

Спасибо

1 Ответ

0 голосов
/ 21 декабря 2010

Я предлагаю использовать что-то похожее на http://blogs.msdn.com/b/mcsuksoldev/archive/2010/02/04/dynamic-xml-reader-with-c-and-net-4-0.aspx

...