С# сериализация класса в XML, где одним из свойств класса является DateTime. Как сделать это свойство в формате ISO?
Я сериализую класс, содержащий свойство DateTime.
public DateTime? Delivered { get; set; }
После сериализации Delivered node содержит DateTime, отформатированный следующим образом:
2008-11-20T00:00:00
Как я могу изменить это свойство, чтобы оно выглядело следующим образом:
2008-11-20 00:00:00
Заранее спасибо
Ответы
Ответ 1
Хак, который я использую для нечетного форматирования во время XmlSerialization, должен иметь специальное свойство, которое используется только во время 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); }
}
Ответ 2
Посмотрите класс XmlAttributeOverrides.