Можете ли вы указать формат для XmlSerialization даты и времени? - PullRequest
50 голосов
/ 13 июля 2009

Мне нужно сериализовать / десериализовать дату и время в формат ггггМдд для файла XML. Могу ли я использовать для этого атрибут / обходной путь?

Ответы [ 2 ]

60 голосов
/ 13 июля 2009

Нет, нет. Если он в этом формате, то это не допустимый dateTime, поскольку речь идет о XML-схеме.

Лучшее, что вы можете сделать, это:

[XmlIgnore]
public DateTime DoNotSerialize {get;set;}

public string ProxyDateTime {
    get {return DoNotSerialize.ToString("yyyyMMdd");}
    set {DoNotSerialize = DateTime.Parse(value);}
}
18 голосов
/ 17 февраля 2011

XmlElementAttribute # DataType должен предоставить то, что вам нужно:

[XmlElement(DataType="date")]    
public DateTime Date1 {get;set;}

При этом свойство Date1 будет сериализовано в правильный формат xml date .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...