Can you specify format for XmlSerialization of a datetime?
I need to serialize / deserialize a datetime into yyyyMMdd format for an XML file. Is there an attribute / workaround I can use for this?
Solution 1:
No, there isn't. If it's in that format, then it's not a valid dateTime as far as XML Schema is concerned.
The best you can do is as follows:
[XmlIgnore]
public DateTime DoNotSerialize {get;set;}
public string ProxyDateTime {
get {return DoNotSerialize.ToString("yyyyMMdd");}
set {DoNotSerialize = DateTime.Parse(value);}
}
Solution 2:
XmlElementAttribute#DataType should provide what you need:
[XmlElement(DataType="date")]
public DateTime Date1 {get;set;}
This will get Date1 property serialized to the proper xml date format.