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

GrZ*_*eCh 11 datetime xml-serialization

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

public DateTime? Delivered { get; set; }
Run Code Online (Sandbox Code Playgroud)

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

2008-11-20T00:00:00
Run Code Online (Sandbox Code Playgroud)

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

2008-11-20 00:00:00
Run Code Online (Sandbox Code Playgroud)

提前致谢

Ada*_*gen 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); }
}
Run Code Online (Sandbox Code Playgroud)

  • 我相信你的意思是"this.Delivered"而不是"this.DateTime"? (3认同)