相关疑难解决方法(0)

C#serializing 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>
Run Code Online (Sandbox Code Playgroud)

使用此架构和xsd.exe,我生成将在序列化期间使用的类.上面的模式生成的类在序列化时生成以下xml:

<Books>
  <Book>
  ...
  </Book>
</Books>
Run Code Online (Sandbox Code Playgroud)

此xml用于SOAP请求,而另一端的服务需要以下xml:

<Books>
  <Book xsi:type="MyBookType">
  ...
  </Book>
</Books>
Run Code Online (Sandbox Code Playgroud)

如何编辑我的模式,以便xsi:type属性包含在序列化的xml中?

.net c# xml xsd xml-serialization

5
推荐指数
1
解决办法
9828
查看次数

标签 统计

.net ×1

c# ×1

xml ×1

xml-serialization ×1

xsd ×1