检索节点计数xml基于条件我无法检索具有以下属性的节点的正确计数:IsTrue =“true”my xml。我使用根据条件使用linq
代码是:>>>
Array depCnfg = (from node in xml.Descendants(Qualities).Descendants()
where node.Parent.Name == Qualities &&
(node.Attribute(ISTRUE).Value.ToString().ToLower() == "true")
select {
totalCount = node.Nodes().Count()}).ToArray();
XML USED: >>>
<Qualities>
<General>
<Tag1 IsTrue = "true">
<SubTag1>0</SubTag1>
</Tag1>
<Tag2 IsTrue = "false">
<SubTag2>0</SubTag2>
</Tag2>
</General>
</Qualities>
在这里,我总是得到数为2,但实际上它应该是1 如果任何人有一个想法,请分享...谢谢
是depCnfg.Count == 2还是defCnfg [0] .totalCount == 2? – Rich 2012-03-13 18:02:31
@Rich:'select'中的totalCount值为2;即在xml文件中都读取和,这是不正确的。我尝试在Count()内使用lambda表达式,但它不起作用。 –
spins3
2012-03-13 18:55:36
您仍然用'node.Nodes()'计数所有节点,而不是'IsTrue ==“true”'的节点。 – 2012-03-14 12:34:17