使用 C# 和 .Net 4.0
我有一个生成的模式,如下所示:
<xsd:element name="EstimatedDate" minOccurs="0" nillable="true" default="1900-01-01T00:00:00">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:dateTime">
<xsd:attribute name="origVal" type="xsd:dateTime" use="optional" />
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
当我用空值序列化对象时,我得到:
<EstimatedDate xsi:nil="true" />
但是我得到了反序列化:“当属性为'xsi:nil'并且值为'true'时,一定没有固定值。”
当我查看 XML 规范时,我没有看到 nillable 和 default 属性是互斥的,但是我的其他可 nillable 但没有默认属性的 dateTime XML 类型可以正常工作。