もう一度...さまざまな属性を照会したいさまざまなカテゴリを含むXMLファイルがあります。
<item>
<title>Industries</title>
<category type="Channel">Automotive</category>
<category type="Type">Cars</category>
<category type="Token">Article</category>
<category type="SpecialToken">News</category>
<guid>637f0dd7-57a0-4001-8272-f0fba60feba1</guid>
</item>
SQLでは次のように記述します。
select * from articles where channel = 'Automative' AND type = 'Cars' etc. etc.
linqでこれをどのように達成できますか?次のクエリを試しましたが、nullが返されます。2つの属性を「OR」と組み合わせると|| 演算子私は結果を取得しますが、アイテムが両方の基準に一致する場合はすべて二重の結果になります。
var articleList = (from item in doc.Descendants("item")
from _category in item.Elements("category")
where _category.Value == valueCboChannel && _category.Attribute("domain").Value == "Channel"
&& (_category.Value == valueCboSubChannel && _category.Attribute("domain").Value == "SubChannel")
select new
{
Title = item.Element("title").Value,
Guid= item.Element("guid").Value,
description = item.Element("description").Value,
link = item.Element("link").Value
}).ToList();
ListView1.DataSource = articleList;
ListView1.DataBind();