Исключение "входная строка имела неверный формат" при чтении дат из XML - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Помогите с такой проблемой. Пытаюсь достаться данные из xml файл
 context.Contracts.AddRange(from co in xml.Descendants("Contract")
                                           select new Contract()
                                           {
                                               ContractId = Convert.ToInt32(co.Attribute("ContractId").Value),
                                               DateStart = DateTime.Parse(co.Element("DateStart").Value),
                                               DateEnd = DateTime.Parse(co.Element("DateEnd").Value),
                                               ClientId = Convert.ToInt32(co.Element("ClientId").Value),
                                               TrainerId = Convert.ToInt32(co.Element("TrainerId").Value),
                                               ServiceId = Convert.ToInt32(co.Element("ServiceId").Value),
                                               Quantity = Convert.ToInt32(co.Element("Quantity").Value),
                                               Type = co.Element("Type").Value,
                                               Payment = co.Element("Payment").Value,
                                               Sum = Convert.ToDouble(co.Element("Sum").Value)
                                           });
                context.SaveChanges();
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Contract ContractId="4">
    <DateStart>2017-09-14T00:00:00</DateStart>
    <DateEnd>2017-09-21T00:00:00</DateEnd>
    <ClientId>1</ClientId>
    <TrainerId>1</TrainerId>
    <ServiceId>1</ServiceId>
    <Payment>Наличный расчет</Payment>
    <Quantity>5</Quantity>
    <Type>Персональные</Type>
    <Sum>15</Sum>
  </Contract>
</Root>
Но когда идет загрузка, выскакивает ошибка что входная строка имела неверный формат
public partial class Contract
    {
        public int ContractId { get; set; }
        public DateTime DateStart { get; set; }
        public int Quantity { get; set; }
        public string Type { get; set; }
        public string Payment { get; set; }
        public int ClientId { get; set; }
        public int TrainerId { get; set; }
        public int ServiceId { get; set; }
        public DateTime DateEnd { get; set; }
        public double Sum { get; set; }
}
Вот в такую базу загружаются данные. Я подозреваю что проблема с Datetime, потому что как не пробовал производить конвертацию данных, все время выскакивала какая-то ошибка. Помогите разобраться

Решение задачи: «Исключение "входная строка имела неверный формат" при чтении дат из XML»

textual
Листинг программы
...
DateStart = DateTime.ParseExact(co.Element("DateStart").Value, "s", CultureInfo.InvariantCulture),
DateEnd  = DateTime.ParseExact(co.Element("DateEnd").Value  , "s", CultureInfo.InvariantCulture),
...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы