Похоже, что XSD.exe не поставляется как часть Visual Studio 2010.
какая альтернатива предлагается в VS2010?
Похоже, что XSD.exe не поставляется как часть Visual Studio 2010.
какая альтернатива предлагается в VS2010?
Он доступен из командной строки VS 2010. Откройте командную строку VS 2010 и введите "xsd/?".
Пуск → Все программы → Microsoft Visual Studio 2010 → Инструменты Visual Studio → Командная строка Visual Studio
Здесь вы можете использовать xsd.exe.
C:\Program Files (x86)\Microsoft SDK\Windows\v7.0A\Bin\xsd.exe
Я считаю, что xsd.exe недоступен в Visual Studio * 2010 Express
Инструмент определения XML-схемы доступен в меню "Начать" :
Пуск- > Все программы- > Microsoft Visual Studio 2010- > Командная строка Visual Studio (2010)
Вы увидите приветственное сообщение в командной строке:
Setting environment for using Microsoft Visual Studio 2010 x86 tools.
D:\Program Files\Microsoft Visual Studio 10.0\VC>
Вы можете создать, например, схему XML из XML файла.
example.xml:
<?xml version="1.0" encoding="utf-8"?>
<country>
<country_name>France</country_name>
<population>59.7</population>
</country>
Для этого введите следующее:
I:\example.xml /outputdir:D:\xml2xsd
В моей системе я вижу следующее:
...
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
Writing file 'D:\xml2xsd\example.xsd'.
D:\Program Files\Microsoft Visual Studio 10.0\VC>
В каталоге D:\xml2xsd\
появилась такая схема:
example.xsd:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="country">
<xs:complexType>
<xs:sequence>
<xs:element name="country_name" type="xs:string" minOccurs="0" />
<xs:element name="population" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="country" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
Полный список опций здесь - http://msdn.microsoft.com/en-us/library/x6c1kb0s.aspx
Что касается альтернатив, вы можете искать преобразователи для операций, которые позволяют xsd.exe:
XDR для XSD
XML для XSD
XSD to DataSet
XSD для классов
Классы для XSD
Удачи.
Мне пришлось добавить это к моему пути:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\
(Пуск > Изменить переменные системной среды > Переменные среды > Изменить "Путь" в разделе "Системные переменные" )
Затем я могу запустить командную строку Visual Studio (2010) и набрать
xsd.exe /?
В целом DTD является альтернативой XSD, а DTD полностью поддерживается в Visual Studio. Тем не менее, DTD является более слабым языком, поскольку некоторые вещи не могут быть выражены в нем. Например, он не поддерживает столько типов данных, сколько XSD, и не имеет утверждений. В любом случае, если вы не слишком придирчивы к этому, вы можете попробовать.