【发布时间】:2011-01-06 01:04:07
【问题描述】:
我有以下 XML 结构(来自执行得不太好的外部来源):
<items>
<item>
<allkindsofinfo></allkindsofinfo>
<categories>
<category>
<name>cat1</name>
</category>
<category>
<name>cat2</name>
</category>
<category>
<name>cat3</name>
</category>
</categories>
</item>
<item>
etcetera
大约有 150 个项目,它们都包含几个类别。
现在,使用 linq,我想获取某个类别中的所有项目。 我在 where 子句中尝试了以下内容:
item.Element("categories").Elements("category").Elements("name").ToString().Contains("cat2")
这不会返回任何结果,即使我知道它应该返回。
如果我尝试:
item.Element("categories").Element("category").Element("name").ToString().Contains("cat2")
如果类别名称是项目中的第一个,则返回结果。
如何遍历每个项目的类别名称以查看它是否包含某个字符串并过滤掉这些项目?
非常感谢任何帮助...:-)
【问题讨论】: