Я уже ответил вам за это несколько дней назад .
В вашем классе вам нужно сделать перевод:
static readonly DateTime epoch = new DateTime(1970, 1, 1);
static long SerializeDateTime(DateTime value)
{
return (long)((value - epoch).TotalSeconds);
}
static DateTime DeserializeDateTime(long value)
{
return epoch.AddSeconds(value);
}
[XmlIgnore]
public DateTime CreateDate { get; set; }
[XmlElement("created"), Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
public long CreateDateInt64 {
get {return SerializeDateTime(CreateDate);}
set {CreateDate = DeserializeDateTime(value);}
}
и т.д.. CreateDateInt64
- это версия, которую использует XmlSerializer
, но при вызове она выполняет перевод и передает значение в CreateDate
(что игнорируется XmlSerializer
из-за атрибута).
Это означает, что у вас есть DateTime CreateDate
в классе и число в xml.