Исключение "входная строка имела неверный формат" при чтении дат из XML - C#
Формулировка задачи:
Здравствуйте! Помогите с такой проблемой.
Пытаюсь достаться данные из xml файл
Но когда идет загрузка, выскакивает ошибка что входная строка имела неверный формат
Вот в такую базу загружаются данные. Я подозреваю что проблема с Datetime, потому что как не пробовал производить конвертацию данных, все время выскакивала какая-то ошибка. Помогите разобраться
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; } }
Решение задачи: «Исключение "входная строка имела неверный формат" при чтении дат из XML»
textual
Листинг программы
... DateStart = DateTime.ParseExact(co.Element("DateStart").Value, "s", CultureInfo.InvariantCulture), DateEnd = DateTime.ParseExact(co.Element("DateEnd").Value , "s", CultureInfo.InvariantCulture), ...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д