Использование 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 и свойства по умолчанию являются взаимоисключающими, но мои другие типы XML dateTime, которые имеют nillable, но не имеют свойства по умолчанию, работают правильно.