Я пытаюсь генерировать класс из xsd схемы, но я получаю следующее сообщение об ошибке:
Предупреждение: не может генерировать классы, потому что никакие элементы верхнего уровня с составным типом не были найдены.
Мой xsd файл похож на это:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="MonitoringConfiguration"
targetNamespace="urn:MonitoringConfiguration-1.0"
elementFormDefault="qualified"
xmlns="urn:MonitoringConfiguration-1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:complexType name="MonitoringConfiguration">
<xs:sequence>
<xs:element name="Machine" type="Machine" minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="Machine">
<xs:sequence>
<xs:element name="Component" type="Component" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Component">
<xs:attribute name="Name" type="xs:string" use="required"/>
<xs:attribute name="Type" type="xs:string" use="optional"/>
</xs:complexType>
</xs:schema>
Я генерирую класс со следующей командной строкой:
xsd MonitoringConfiguration.xsd /languages:CS /Classes
Обратите внимание, что я уже определил высокоуровневый элемент с составным типом (MonitoringConfiguration).
Что случилось?
Спасибо
Вы определили комплексный тип верхнего уровня - но нет элемента верхнего уровня элемента.
Вам нужно добавить:
<xs:element name="MonitoringConfigurationElement"
type="MonitoringConfiguration" />
и тогда все будет в порядке.