当我使用 LINQ 将 XML 文件解析为自定义对象时,我试图防止出现 NULL 值。
我在Scott Gu 的博客上找到了一个很好的解决方案,但由于某种原因,它不适用于我的整数。我想我使用了相同的语法,但似乎我遗漏了一些东西。哦,由于某种原因,它在节点不为空时起作用。
下面是我的代码的摘录。
List<GrantAgresso> lsResult = (from g in xml.Element("root").Elements("Elementname")
select new GrantAgresso()
{
Year = (int?)g.Element("yearnode") ?? 0,
Subdomain = (string)g.Element("domainnode") ?? ""
}).ToList();
错误消息是:
输入字符串的格式不正确。
如果有人知道我做错了什么,请帮忙:)
编辑:一段 XML(奇怪的名字,但不是自愿选择的)
<Agresso>
<AgressoQE>
<r3dim_value>2012</r3dim_value>
<r0r0r0dim_value>L5</r0r0r0dim_value>
<r7_x0023_province_x0023_69_x0023_V005>0</r7_x0023_province_x0023_69_x0023_V005>
<r7_x0023_postal_code_x0023_68_x0023_V004 />
<r7_x0023_country_x0023_67_x0023_V003>1004</r7_x0023_country_x0023_67_x0023_V003>
<r7_x0023_communitydistrict_x0023_70_x0023_V006>0</r7_x0023_communitydistrict_x0023_70_x0023_V006>
</AgressoQE>
</Agresso>