Используя тот же метод, который используется в вашем сообщении, вы можете сделать:
digits :: Integer -> [Int]
digits n = map (\x -> read [x] :: Int) (show n)
См. его в действии:
Prelude> digits 123
[1,2,3]
Помогает ли это?
Вам просто нужно проанализировать string
для определенного типа
Product product = new Product();
//..
product.Added_Date = DateTime.Parse(element.Element("Added_Date").Value);
product.Price = double.Parse(element.Element("Price").Value); //or float, or decimal
и рассмотреть возможность использования метода Elements
вместо Descendants
, так как последний возвращает все дочерние элементы и их внутренние дочерние элементы и т. Д., И Elements
возвращает детей первого уровня
var productNodes = doc.Root.Elements("product"); //note this is case sensitive
foreach (XElement element in productNodes) {
Product product = new Product();
//..
}