LINQ to XMLを使用して属性ごとにXML要素を見つけるにはどうすればよいですか?
-
03-07-2019 - |
質問
LINQ to XMLを学習していますが、特定の属性を持つ要素の存在を見つける必要があります。現在、私は使用しています:
XElement groupCollectionXml = XElement.Parse(groupCollection.Xml);
IEnumerable<XElement> groupFind =
from vw in groupCollectionXml.Elements("Group")
where (string) vw.Attribute("Name") == groupName
select vw;
if (groupFind.Count() == 0)
return false;
else
return true;
おそらくもっと簡単な方法で、おそらくAny()を使用する方法があることは知っていますが、それを使用するためにクエリを書き換える方法がわかりません。誰か良いアドバイスがありますか?ありがとう。
解決 2
他の2つの回答に感謝します。私はあるものの簡潔さと別のものの正確さを組み合わせ、それからかき混ぜて、これがうまくいくことを思いつきました:
groupCollectionXml.Elements("Group").Any(
vw => string.Equals(vw.Attribute("Name").Value, groupName, StringComparison.OrdinalIgnoreCase)
);
他のヒント
groupCollectionXml.Elements("Group").Any(
vw=>(string)vw.Attribute("Name") == groupName
);
groupCollectionXml.
Elements("Group").
Where(item=>String.
Equals(item.Attribute("Name"), groupName, OrdinalIgnoreCase)).
Any();
すべてを1行にしたい場合
所属していません StackOverflow