C#serializing Class to XML,其中一个类属性是DateTime。如何以ISO格式制作此属性?

时间:2008-11-18 17:01:55

标签: datetime xml-serialization

我正在序列化包含DateTime属性的类。

public DateTime? Delivered { get; set; }

序列化后,Delivered节点包含格式如下的DateTime:

2008-11-20T00:00:00

如何更改此属性以使其如下所示:

2008-11-20 00:00:00

提前致谢

2 个答案:

答案 0 :(得分:20)

我在XmlSerialization期间用于奇怪格式化的hack是具有仅在XmlSerialization期间使用的特殊属性

//normal DateTime accessor
[XmlIgnore]
public DateTime Delivered { get; set; }

//special XmlSerialization accessor
[XmlAttribute("DateTime")]
public string XmlDateTime
{
    get { return this.Delivered.ToString("o"); }
    set { this.Delivered = new DateTime.Parse(value); }
}

答案 1 :(得分:1)