在xml中使用空日期反序列化

时间:2015-08-13 23:45:24

标签: c# xml serialization

我最近对我的xsd进行了排序,以允许xml数据在日期字段中包含空字符串。我用simpleType和union来允许这个:

<xsd:simpleType name="EmptyDate">
  <xsd:union memberTypes="xsd:date emptystring" />
</xsd:simpleType>

<xsd:simpleType name="emptystring">
  <xsd:restriction base="xsd:string">
    <xsd:enumeration value="" />
  </xsd:restriction>
</xsd:simpleType>

然而,即使XML文件允许这样做,当我去反序列化时,它会出现一个错误,说&#34;字符串未被识别为有效的DateTime。目前,这就是我反序列化的方式:

xml_path = xml_dir + file_name;
XmlSerializer x = new XmlSerializer(typeof(Families));
Families fam;
using (XmlReader read = XmlReader.Create(xml_path))
{
    fam = (Families)x.Deserialize(read);
} 

当我调试代码时,它在反序列化的代码底部引发了一个错误。

有没有办法操纵c#代码,以便允许空日期通过

传递

0 个答案:

没有答案