【发布时间】:2011-08-09 00:16:46
【问题描述】:
我有一个 LinqToXML 表达式,我试图根据相似的属性选择不同的名称。代码运行良好,我把它放在下面:
var q = xmlDoc.Element("AscentCaptureSetup").Element("FieldTypes")
.Descendants("FieldType")
.Select(c => new { width = c.Attribute("Width").Value,
script = c.Attribute("ScriptName").Value,
sqlType = c.Attribute("SqlType").Value,
enableValues = c.Attribute("EnableValues").Value,
scale = c.Attribute("Scale").Value,
forceMatch = c.Attribute("ForceMatch").Value,
forceMatchCaseSensitive = c.Attribute("ForceMatchCaseSensitive").Value,
sortAlphabetically = c.Attribute("SortAlphabetically").Value,
})
.Distinct();
出现问题是因为并非所有属性都是必需的,如果省略其中一个,例如 按字母顺序排序,我会收到 Object not Referenced 错误。有道理,但是如果属性实际存在,是否有办法更改查询以仅使用分配新值? (从而绕过任何空指针错误)
【问题讨论】:
标签: linq linq-to-xml