1
我对LINQ有一个LINQ查询,它给了我一个嵌套列表的列表,每个子列表都是一个元素列表(“row “)属性。使用LINQ查询XML并排除属性值等于元素的值
var items = loadbodies.Descendants("row").Select(a => a.Attributes().Select(b => b.Value).ToList()).ToList();
这按预期工作,但我确实需要为查询该对值的另一份名单,以免有子列表添加其中的一个元素属性(“MESSAGEID”)是第二名单上。我可以做到这一点的价值,但需要检查整个第二列表。
查询从第二个列表中排除单个硬编码值的单个子列表如下。
var items = loadbodies.Descendants("row").Where(c => (string)c.Attribute("messageID") != "avaluefromthesecondlist").Select(a => a.Attributes().Select(b => b.Value).ToList()).ToList();
任何帮助将不胜感激。
对于单行的道歉,我没有想到它会影响其他人的可读性。我得到一个“布尔不包含'选择'的定义”错误? – Syrsyrian 2013-04-05 15:49:00
@Syrsyrian:我错过了一个右括号 - 现在再试一次。 – 2013-04-05 15:54:19
完美。出于好奇,有没有类似于“Contains”的东西,而是相反的,比如“DoesNotContain”? – Syrsyrian 2013-04-05 16:01:13