2011-10-27 36 views
0

的XSD对象序列我已经从运行,其具有以下特性与背衬字段XSD.EXE生成的对象:C#生成的日期时间

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; 

任何值我设置为它是刚开g丢失在序列化过程中,而其他元素都很好。我需要做些什么才能正确地序列化?

感谢

回答

3

你可能也有一个名为DeliveryDateSpecified您的交易类的属性?这是因为您的DeliveryDate不是强制性的。如果设置为true您DeliveryDate也将获得序列化。

+0

唉唉谢谢你,我不知道我需要做,但非常有意义 – bobwah

+0

XmlSerializer的使用指定的属性来确定一个非空的属性应序列化。 –