C#生成了日期时间的xsd对象序列化

时间:2011-10-27 07:55:11

标签: c# xml serialization xsd xml-serialization

我有一个生成的对象来自运行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;

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

由于

1 个答案:

答案 0 :(得分:3)

您的Transaction类可能还有一个名为DeliveryDateSpecified的属性?这是因为您的DeliveryDate不是强制性的。如果将其设置为true,您的DeliveryDate也将被序列化。