我有如下所示的 XML
<NodeName Foo="True" Foobar="False" />
<NodeName Foo="False" Foobar="False" />
<NodeName Foo="True" Foobar="False" />
我正在查询它以使用以下方法查找 Foo 值为“True”的 NodeName:
.Where(node => node.Attribute("Foo").Value = "True");
但是,属性 Foo 可能不存在,这会导致异常。
问题是如何实现逻辑来检查属性是否存在,然后检查值是否存在?
我尝试了以下方法,但不确定 else 括号中的内容不返回任何内容,因为目前它不会编译,并出现未在所有路径上返回值的错误。
.Where(node =>
{
if (node.Attribute("Foo") != null)
{
node.Attribute("Foo").Value == "True";
}
else { }
});