2014-03-28 6 views
1

У меня есть XML-документ, который я десериализую, используя XmlSerializer. Другие свойства на работе документа просто отлично, но есть один элемент, в частности, что не работает:XmlSerializer не десериализует DateTime

<StartDate>2014-03-21T00:00:00</StartDate> 

Это определяется в C# в POCO как:

[XmlElement("StartDate")] 
private DateTime StartDate { get; set; } 

Когда я десериализации документ, StartDate - 01/01/0001 12:00:00 AM. Я думал, что стандартный формат даты и времени XML был YYYY-MM-DDTHH:MM:SS? Так почему же это не десериализация правильно?

Примечание: У меня нет контроля над документом XML, который я десериализую. Это происходит из сторонней системы.

+0

[Ответ] (http://stackoverflow.com/a/3534625/2974754) должно помочь. – Yuriy

ответ

5

Изменить модификатор доступа из private к public:

[XmlElement("StartDate")] 
public DateTime StartDate { get; set; } 

XmlSerializer can only serialize public fields and properties.

+0

Ой, как я пропустил это? Все мои другие объекты были общедоступными. Глупая ошибка! Благодаря! – qJake

Смежные вопросы