C # сериализация xsi: type и xsd

У меня есть схема, определенная следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="Books" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xs:element name="Books" msdata:IsDataSet="true" msdata:Locale="en-US">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Book" type="MyBookType"></xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>

  <xs:complexType name="MyBookType">
  ...
  </xs:complexType>

</xs:schema>

Используя эту схему и xsd.exe, я генерирую классы, которые будут использоваться во время сериализации. Класс, сгенерированный приведенной выше схемой, при сериализации создает следующий xml:

<Books>
  <Book>
  ...
  </Book>
</Books>

Этот xml используется в запросе SOAP, а служба на другом конце ожидает следующий xml:

<Books>
  <Book xsi:type="MyBookType">
  ...
  </Book>
</Books>

Как я могу отредактировать мою схему, чтобы xsi Атрибут: type включен в сериализованный xml?

5
задан Flack 7 December 2010 в 17:15
поделиться