c#生成xsd对象序列化的datetime

本文关键字:datetime 序列化 对象 生成 xsd | 更新日期: 2023-09-27 18:12:44

我有一个从运行xsd.exe生成的对象,它具有以下属性和支持字段:

private System.DateTime deliveryDateField;
/// <remarks/>
public System.DateTime DeliveryDate 
{
    get 
    {
        return this.deliveryDateField;
    }
    set 
    {
        this.deliveryDateField = value;
    }
}

生成自:

<xs:element name="DeliveryDate" type="xs:dateTime" minOccurs="0"/>

,我试图序列化使用:

var t = new Transaction();
t.DeliveryDate = new DateTime(2011,11,11);
var xs = new XmlSerializer(t.GetType());
string outString;
using (var ms = new MemoryStream())
{
    xs.Serialize(ms, t);
    ms.Position = 0;
    using (var sr = new StreamReader(ms))
    {
       outString = sr.ReadToEnd();
    }
}
return outString;

无论我将其设置为什么值,它都会在序列化过程中丢失,而其他元素则很好。我需要做些什么才能正确地进行序列化?

谢谢

c#生成xsd对象序列化的datetime

您可能还在事务类上有一个名为DeliveryDateSpecified的属性?这是因为你的DeliveryDate不是强制性的。如果你把这个设置为true,你的DeliveryDate也会被序列化