我有一个生成的对象来自运行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;
无论我设置什么值,它都会在序列化过程中迷失,而其他元素都很好。我需要做些什么来正确地进行序列化?
由于
答案 0 :(得分:3)
您的Transaction类可能还有一个名为DeliveryDateSpecified的属性?这是因为您的DeliveryDate不是强制性的。如果将其设置为true,您的DeliveryDate也将被序列化。