my XMLの属性:IsTrue = "true"を持つノードの正しい数を取得できません。私が使用していますRetrieveノードlinqを使用して条件に基づいてXML内でカウントする
コードは次のとおりです。>>>
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
@Rich: 'select'内のtotalCountの値が2です。つまり、xmlファイルでとの両方が読み込まれますが、これは不適切です。私はCount()内でラムダ式を使用しようとしましたが、動作しません。 –
spins3
'IsTrue ==" true "'のノードではなく、 'node.Nodes()'ですべてのノードをカウントします。 –