0
正しい構文を見つけるのに問題があります。C#Linq条件でXML値を取得
以下のコードが問題を私が言い表せるほど説明できないことを願っています。私は一致条件に基づいて匿名型を取得しようとしています。私は最初に属性の一致をチェックし、条件が満たされた場合にのみ値を返さなければなりません。要素に"value1"
という名前の属性がある場合、同じ要素に"value"
という属性の値が返されます。
矢印<---
に問題がある場合の擬似コードを表示します。
事前にお手伝いいただける方に感謝します。
<item name="DataStore" >
<int name="item1" value="895"/>
<int name="item2" value="245"/>
</item>
<item name="DataStore" >
<int name="item1" value="540"/>
<int name="item2" value="97"/>
</item>
var result = from items in doc.Descendants()
where (string)items.Attribute("name") == "DataStore"
select new {
item1Value = items.Attribute("value").Value, <--- where items.Attribute("name") == "item1" ???
item2Value = items.Attribute("value").Value <--- where items.Attribute("name") == "item2" ???
}
私はだから私は何かのように言いたい最後にresult.value1
とresult.value2
を持っている「タプル」result
返す必要がより明確にする:あなたがする必要がある
foreach (var item in result) {
Console.WriteLine(item.value1); //Prints 895 on first iteration
Console.WroteLine(item.value2); //Prints 245 on first iteration
}