XSDObjectGen.exe vs XSD.exe

17

Может ли кто-нибудь сказать мне, в чем разница между XSDObjectGen.exe & amp; XSD.exe?

Есть ли способ сделать XSDObjectGen.exe работать в dot net 2.0?

    
задан Nimesh Madhavan 14.11.2008 в 06:52
источник

4 ответа

28

В качестве альтернативы существует Xsd2Code . Некоторые функции:

  • Создание частичного класса.
  • Поддержка общей и пользовательской коллекции (List, ObservableCollection, MyCustomCollection).
  • Поддерживать автоматические свойства, если не требуется специальный набор или набор.
  • Может генерировать атрибуты WCF (DataContract / DataMember).
  • Поддерживает неровный тип.
  • Маска частного поля в среде IDE (используйте атрибут EditorBrowsableState.Never).
  • Сгенерировать распределение объектов в конструкторе.
  • Внедрить INotifyPropertyChanged для включения DataBinding для wpf или Silverlight.
  • Повышает производительность благодаря надстройке с визуальной студией.
  • Сгенерировать итоговую документацию из аннотации xsd.
  • Проверьте, не изменились ли новые и старые значения int setter перед тем, как добавить событие с изменением свойства.
  • создание резервных копий в заголовках cs или vb.
  • Сохраните и загрузите документ Xml в изолированное хранилище файлов для приложения silverlight (новое в версии 3.0).
  • Сгенерировать код CS, VB или CPP.
  • Сериализовать / десериализовать объект.
  • Сохранение в файл и загрузка из файла.
  • Включить Xsd2CodeCustomTool.
ответ дан Daniel Rose 09.06.2010 в 12:17
источник
6

Разница заключается в следующем:

Чтобы дать вам некоторое представление, вот список основных функций для XSDObjectGen.exe :

  • Поддержка наиболее популярных конструкций схем XML
  • Перечисление и поведение коллекции для повторяющихся элементов
  • Модель программирования, соответствующая схеме
  • Автоматическое построение подклассов
  • Устранение конфликтов при столкновении
  • Интеграция с IDE Visual Studio
  • Специальная логика обработки для типов DateTime
  • Поддержка многостраничной схемы.
  • Сериализация пространства имен XML
  • Поддержка опций и последовательностей
  • Поддержка выбора
  • Группа замещения
  • Метод MakeSchemaCompliant
  • Некомплексная обработка ссылочного типа
  • Соответствие базового профиля WS-I.org
  • Поддержка нескольких языков программирования
  • Глубокие события траверса

Подробнее об этих функциях см. файл документации XSDObjectGen.doc (доступный в C:\Program Files\XSDObjectGenerator после установки инструмента).

    
ответ дан Daniel Fortunov 09.06.2010 в 12:13
источник
4

Похоже, вы можете использовать его с VS2005 по крайней мере (согласно этой статье , в любом случае )

Просто добавьте его в коллекцию внешних инструментов VS2005 в разделе «Инструменты & gt; & gt; Внешние инструменты ...».

Задайте параметры следующим образом

  • Для VB: $ (ItemPath) / l: vb /f:$(ItemFileName).vb / c / d / t
  • Для C #: $ (ItemPath) / l: cs /f:$(ItemFileName).vb / c / d / t

Похоже, что XSD и XSDObjectGen будут давать разные классы. Фактически, комментарии в этой статье Рика Стралла гласят: « они дают very разные классы " в здесь .

    
ответ дан Dan Esparza 14.11.2008 в 23:54
источник
3

На чисто техническом уровне:

XSD.exe использует Arrays
XSDObjectGen делает крошечный шаг вперед и использует ArrayLists .
XSD2Code прыгает вперед с использованием Generics .

Если вы используете .NET 2.0 и выше, используя XSD2Code, наиболее предпочтительным.

    
ответ дан Shankar R10N 18.02.2011 в 18:33
источник