处理 linq to xml 查询中的空异常
本文关键字:异常 查询 linq to xml 处理 | 更新日期: 2023-09-27 18:16:25
var qXML = (from nm in xelement.Descendants("EmployeeFinance")
where nm.Element("Status").Value.Contains(status) && int.Parse(nm.Element("Empersonal_Id").Value) == ele.EmpId
select nm).SingleOrDefault();
以上是我的示例代码。现在有些实例中ele.EmpId
将存在于 xml 中,而实例中不会出现。如何处理找不到ele.EmpId
时引发的空异常。
这将检查元素是否null
和元素是否包含非空/空字符串值,如果它未能通过这些检查中的任何一个,则会在尝试解析之前短路。
var qXML = (from nm in xelement.Descendants("EmployeeFinance")
where nm.Element("Status").Value.Contains(status) &&
((nm.Element("Empersonal_Id") != null) &&
!string.IsNullOrEmpty(nm.Element("Empersonal_Id").Value) &&
int.Parse(nm.Element("Empersonal_Id").Value) == ele.EmpId)
select nm).SingleOrDefault();