Я работаю с xsd.exe, чтобы создать класс DataSet
для vb. net. Все выходные данные содержатся в этом DataSet
, поэтому я могу использовать метод DataSet.writexml(writer as XMLWriter)
для вывода данных в файл.
Изначально я хотел вывести xml данные в следующем шаблоне:
<customoutput>
<zzz>Serial</zzz>
<www1>Info1</www1>
<www2>Info2</www2>
<wwwn>Infon</wwwn>
</customoutput>
Поэтому я подумал, что описание последовательности <www/>
совершенно невозможно, потому что имена узлов должны быть stati c.
По этой причине я решил попробовать вывести это XML:
<customoutput>
<zzz>Serial</zzz>
<www value="1">Info1</www>
<www value="2">Info2</www>
<www value="n">Infon</www>
</customoutput>
Поэтому я создаю XSD-файл для создания этого xml. Я сделал это из-за недостатка знаний XSD в Visual Studio автоматически
<xs:element name="customoutput">
<xs:complexType>
<xs:sequence>
<xs:element name="zzz" type="xs:string" />
<xs:element maxOccurs="unbounded" name="www">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="value" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Странная вещь: используя DataSet.writexml(writer as XMLWriter)
, я получаю вывод:
<customoutput>
<zzz>Serial</zzz>
</customoutput>
<www value="1">Info1</www>
<www value="2">Info2</www>
<www value="n">Infon</www>