Вы можете использовать XSD.EXE, и команда будет выглядеть примерно так:
XSD.EXE your.xsd /c
Сгенерированный источник имеет несколько причуд:
- Он генерирует
[SerializableAttribute]
, [XmlTypeAttribute]
, [XmlRootAttribute]
и т. Д., А не [DataContract]
и [DataMember]
, что может (не) стать для вас проблемой.
- Он определяет дочерние / подробные структуры, используя массивы внутри, а не общие
List<T>
структуры.
Мне обычно приходится довольно сильно его настраивать (с помощью нескольких операций поиска и замены), а также вручную обрабатывать списки. В любом случае, это хорошая отправная точка.