Создание файла класса C # из XML-схемы - PullRequest
3 голосов
/ 12 ноября 2009

Я хочу проанализировать файл сложной схемы XML и экспортировать его в файл C #.

Нужно ли использовать System.XML.Schema пространство имен?

Ответы [ 2 ]

4 голосов
/ 12 ноября 2009

Вы можете использовать XSD.EXE, и команда будет выглядеть примерно так:

XSD.EXE your.xsd /c

Сгенерированный источник имеет несколько причуд:

  • Он генерирует [SerializableAttribute], [XmlTypeAttribute], [XmlRootAttribute] и т. Д., А не [DataContract] и [DataMember], что может (не) стать для вас проблемой.
  • Он определяет дочерние / подробные структуры, используя массивы внутри, а не общие List<T> структуры.

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

4 голосов
/ 12 ноября 2009

Вам необходимо использовать инструмент XSD . У него есть ограничения, но он бесплатный и, вероятно, уже установлен в вашей системе.

Если вам нужны более крупные и дорогие пистолеты, я бы предложил Liquid Xml Studio или Altova .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...