这是我的XML文件:
<items>
<item code="1">
<info1>LOREM</info1>
<info2>IPSUM</info2>
<info3>DOLOR</info3>
</item>
<item code="2">
<info1>LOREM</info1>
<info2>AMET</info2>
<info3>CONSECTETUER</info3>
</item>
<item code="3">
<info1>LOREM</info1>
<info2>IPSUM</info2>
<info3>CONSECTETUER</info3>
</item>
</items>
我想根据存储在该字典中的条件提取一些项目代码:
{ "info1", "LOREM" }
{ "info2", "IPSUM" }
我写了这个 LINQ 查询:
var test = from element in xml.Descendants("item").Elements()
from param in dicoParams
where param.Key == element.Name.ToString() && param.Value == element.Value
select element.Parent.Attribute("code");
但是输出结果是:
code="1"
code="1"
code="2"
code="3"
code="3"
and what I expected is :
code="1"
code="3"
我们可以注意到该查询返回了满足至少一个条件的元素,但我希望它同时满足两个条件。
那么我应该如何编写这个查询?
2
?它符合你的条件。 - Mathew Thompsonitem code="1"
匹配了两个条目。 - H H