本文介绍了如何克服where子句XML LINQ中的空错误异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨朋友们,
我正在尝试过滤节点并将值存储在基于搜索条件的列表中。我的问题是,在某些节点中缺少where子句应用字段(AccruedInterest)。我如何克服这个问题,请帮助
Hi Friends,
i am trying to filter the nodes and store values in a List basesd on the search criteria. My problem is, in some nodes the where clause applied field(AccruedInterest) is missing. How can i overcome this, please help
public static List<AccruedClass> validaccrued()
{
XDocument doc = XDocument.Load("Morgan.xml");
var ac = doc.Root.Elements("Positions")
.Where(item => (float)item.Element("AccruedInterest") > 0.0)//some nodes doesnot contain "AccruedInterest" so its showing null error execption
.Select(item => new AccruedClass
{
Cusip = item.Element("Cusip").Value != null ? item.Element("Cusip").Value : "",
// Symbol = item.Element("symbol").Value,
AccruedInterest = item.Element("AccruedInterest").Value != null ? Convert.ToDouble(item.Element("AccruedInterest").Value) : 0,
PriceFactor = item.Element("PriceFactor").Value != null ? Convert.ToDouble(item.Element("PriceFactor").Value) : 0,
Quantity = item.Element("Quantity").Value != null ? Convert.ToDouble(item.Element("Quantity").Value) : 0,
})
.ToList();
List<AccruedClass> list_accr = ac.ToList<AccruedClass>();
return list_accr;
}
推荐答案
...
.Where(item => (float?)item.Element("AccruedInterest") != null && (float?)item.Element("AccruedInterest") > 0.0)
...
这篇关于如何克服where子句XML LINQ中的空错误异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!