C # Какой самый простой способ создать XSD для xml-сериализуемого класса - PullRequest
3 голосов
/ 18 февраля 2009

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

У меня есть несколько классов, все они сериализуемы, некоторые реализуют IXmlSerializable. Классы помечены как [XmlRoot], [XmlAttribute] и т. Д. В соответствующих местах.

Что меня интересует, так это как создать простой XSD для каждого класса, используя существующие теги. Я интересуюсь как ручным, так и программным способом. Если возможно, я бы предпочел использовать инструменты, встроенные в VS2008.

1 Ответ

4 голосов
/ 18 февраля 2009

Ну, с IXmlSerializable все ставки отключены, так как схема не гарантируется. Впрочем, для отдыха:

xsd.exe <assembly>.dll|.exe [/outputdir:] [/type: [...]]

С MSDN :

/ t [ype]: typename Указывает имя тип, для которого создается схема. Вы Можно указать несколько аргументов типа. Если typename не указывает namespace, Xsd.exe соответствует всем типам в сборке с указанным тип. Если typename указывает Пространство имен, только этот тип соответствует. Если typename заканчивается звездочкой символ (*), инструмент соответствует всем типы, начинающиеся со строки предшествующий *. Если вы пропустите / тип опция, Xsd.exe генерирует схемы для все типы в сборке.

...

Классы для XSD Создает схему XML от типа или типов во время выполнения сборочный файл. Сгенерированная схема определяет формат XML, используемый System.Xml.Serialization.XmlSerializer.

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