Несколько файлов схемы XSD для классов C # - PullRequest
39 голосов
/ 17 июля 2009

Каков наилучший способ создания классов C # из нескольких файлов схемы XSD?

Некоторые файлы схемы XSD могут зависеть от других, я стараюсь избегать создания дублированных классов C #.

Ответы [ 2 ]

50 голосов
/ 17 июля 2009

Используйте программу XSD.EXE, но передайте все схем программе в той же командной строке.

Например:

> xsd /c qbxmltypes130.xsd QBUqbxmlops130.xsd QBUqbxmlso130.xsd QBUqbxml130.xsd

Создает класс с именем:

qbxmltypes130_QBUqbxmlops130_QBUqbxmlso130_QBUqbxml130.cs

В данном случае это xsd-файлы Quickbooks Desktop SDK, и в конечном файле есть типы, от которых зависит первый из трех файлов. Он не будет излучать сам по себе, но со своими зависимостями он работает как нужно.

Обратите внимание, что есть переключатель /parameters:<file>, который позволяет вам указать файл параметров командной строки. Я помню, как использовал его в одном проекте по аналогичной причине.

XSD.EXE Документ имеет формат параметра.

31 голосов
/ 12 октября 2009

Я, например, нашел несколько примеров в документе MSDN. Вот пример файла параметров для описанного кода проблемы:

<xsd xmlns='http://microsoft.com/dotnet/tools/xsd/'>
<generateClasses language='CS' namespace='Namespace.subnamespace'>
    <schema>FirstSchema.xsd</schema>
    <schema>AnotherSchema.xsd</schema>
    <schema>LastSchema.xsd</schema>
</generateClasses>
</xsd>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...