Каков правильный формат для ReadContentAsDateTime XMLTextReader

Я использую XMLTextReader для извлечения информации из XML-файла. Теперь я хочу использовать ReadContentAsDateTime, но он всегда вызывает исключение. Я уже пробовал 2005.9.26, 2005/9/26 и 2005, 9, 26. Кто-нибудь знает правильный формат для этого?


person theknut    schedule 24.06.2011    source источник
comment
попробуйте посмотреть здесь: stackoverflow.com/questions/661881/   -  person danyolgiax    schedule 24.06.2011
comment
Возможный дубликат stackoverflow.com/questions/661881/   -  person Sai Kalyan Kumar Akshinthala    schedule 24.06.2011


Ответы (1)


Обратите внимание, что документация XmlReader.ReadContentAsDateTime включает:

Если содержимое не имеет типа xsd:dateTime, средство чтения попытается преобразовать его в объект DateTime в соответствии с правилами, определенными ссылкой XML-схема W3C, часть 2: рекомендации по типам данных

Это ISO 8601: yyyy-MM-ddThh:mm:ss.hhhhhhh или yyyyMMddThhmmsshhhhhhh (прежний предпочтительнее) с использованием T для разделения даты и времени. Существуют различные способы усечения (не нужно включать доли секунд) и включения информации о часовом поясе.

person Richard    schedule 24.06.2011
comment
TryParse проделал хорошую работу. Поэтому я просто прочитал его как строку и преобразовал, что также отлично сработало для меня. Спасибо за ваш ответ! - person theknut; 24.06.2011
comment
@theknut: DateTime.TryParse зависит от локали ... будьте осторожны с этим. Вероятно, лучше использовать TryParseExact и указать входящий формат. Еще лучше использовать канонический формат для максимальной совместимости. - person Richard; 25.06.2011