【发布时间】:2014-03-31 21:01:43
【问题描述】:
我正在尝试使用 XMLNode 从 xml 文件中读取多个属性,但根据元素的不同,该属性可能不存在。如果该属性不存在,如果我尝试将其读入内存,它将抛出一个空异常。我找到了一种测试属性是否返回 null 的方法:
var temp = xn.Attributes["name"].Value;
if (temp == null)
{ txtbxName.Text = ""; }
else
{ txtbxName.Text = temp; }
这似乎适用于单个实例,但如果我检查 20 个可能不存在的属性,我希望有一种方法可以设置一个方法,我可以传递值来测试它是否为空。从我读过的内容来看,您无法传递 var,因为它是本地初始化的,但是有没有办法可以设置测试以传递要测试的潜在 null 值,然后如果它不为 null 则返回该值,然后返回"" 如果它为空?是否有可能,或者我是否必须如上所述单独测试每个值?
【问题讨论】:
-
你为什么使用
XmlDocument?Linq2XML是更好的选择。 -
我开始使用 xml 解析,并且能够比 LINQtoSQL 更轻松地使用 XMLDocument。