2012-04-27 2 views
0

Я ищу инструмент (желательно бесплатное), который может помочь мне создать C# DTO (классы) из нескольких xml-файлов.Как создать класс C# из нескольких файлов XML

Некоторые из этих xml-файлов содержат один и тот же сложный тип, поэтому, чтобы избежать дублирования классов, я должен сделать один XSD из нескольких файлов.

Я попробовал инструмент xsd.exe (с визуальной студией), но он не требует нескольких xml-файлов.

помогите пожалуйста.

ответ

1

QTAssistant (Я связан с ним) имеет команду на вкладке «Инструменты» в разделе XML «XSD from XMLs». Он предлагает вам:

  • файлы XML, которые вы хотите использовать;
  • папка, где хранятся сгенерированные XSD-файлы.

Инструмент основан на технологиях .NET, поэтому стиль сгенерированного вывода - .NET, а версия ограничена XSD 1.0.

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

Например, если вы посмотрите на тех XMLs вывешенные с this question on SO, то QtAssistant будет генерировать этот XSD:

QTAssistant inferred XSD from multiple XML files

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

Итак, для этого вида упражнений важно использовать как можно больше XML как допустимые сценарии, которые вы имеете в виду. Учитывая, как работает вывод, вы должны ожидать, что некоторые нежелательные шаблоны XML «проскальзывают» через сгенерированные XSD; в этом случае вы можете попытаться отредактировать некоторые бит вручную ... если это не сработает, обвините спецификацию XSD в своих ограничениях ...

Смежные вопросы