Я пытаюсь прочитать XElement и преобразовать его в десятичную. Sumkwh десятичный и вход:Невозможно преобразовать XElement в десятичный
<detaillinie>
<periode>2016-04-27 06:30:00</periode>
<kWh>0,35225</kWh>
</detaillinie>
<detaillinie>
<periode>2016-04-27 06:45:00</periode>
<kWh>0,35225</kWh>
</detaillinie>
<detaillinie>
<periode>2016-04-27 07:00:00</periode>
<kWh>0,17875</kWh>
</detaillinie>
Код выглядит следующим образом:
var query =
from timeserie in xdoc.Descendants("detaillinie").AsEnumerable()
select new TimeSerie
{
Sumdato = (DateTime)timeserie.Element("periode"),
Sumkwh = (decimal)timeserie.Element("kWh")
}
Исключение типа «System.FormatException» произошло в mscorlib.dll, но не был обработан в пользовательском коде
Дополнительная информация: Inputstring был в неправильном формате.
Если я вручную напечатаю Sumkwh = decimal.parse("0,2435")
У меня нет ошибки.
Я судимое с Sumkwh = decimal.parse(timeserie.Element("kWh"))
это дает сообщение об ошибке «Не удается преобразовать из 'system.xml.linq.xelement' в строку.
Любая помощь, пожалуйста :)
Ваш код не заполнен. – Prathyush
Попробуйте 'Sumkwh = decimal.Parse (timeserie.Element (" kWh "). ToString())' –
Ваш ввод использует ',' как десятичный разделитель, в то время как XML должен писать/читать значения форматированных значений инвариантной культуры. –