我正在使用Linq解析一个XML文档,但我遇到了一种情况,不确定如何处理。 我尝试过的所有方法似乎都无效。 如下所示(非常简单的场景)中OrderAmount为空。 这是一个十进制字段。 当我在LINQ中尝试处理它时,它一直出错。 我尝试过使用decimal?,使用null检查等,但似乎都没有起作用(很可能是用户错误)。 如何处理元素为非字符串(例如十进制数)且为空的情况?
XML:
LINQ:
XML:
<Orders>
<Order>
<OrderNumber>12345</OrderNumber>
<OrderAmount/>
</Order>
</Orders>
LINQ:
List<Order> myOrders = from orders in xdoc.Descendants("Order")
select new Order{
OrderNumber = (int)orders.Element("OrderNumber"),
OrderAmount = (decimal?)orders.Element("OrderAmount"),
}.ToList<Order>();