我有以下XML,並且我需要一個查詢,以便在通過特定統計信息時提取Year和Return_Value。如何在linq xml語句中使用where子句
當前的代碼不起作用,因爲在字典對象的一個添加語句中不能有兩個where子句。有針對這個的解決方法嗎?
foreach (var row in rows)
{
myHoldingsDistribution.Add(row.Descendants()
.Where(y => y.Name.LocalName == keyName)
.Select(q => q.Value).Max(),
Double.Parse(row.Descendants().Where(y => y.Name.LocalName == valueName)
.Select(q => q.Value).Max()) * multiplier);
<Table>
<Year>1</Year>
<Statistic>0 Percentile</Statistic>
<Return_Value>0.0535644000000</Return_Value>
</Table>
base {System.Xml.Linq.XContainer}: <Table>
<ALMRunResults_Year>1</ALMRunResults_Year>
<Statistic>0 Percentile</Statistic>
<Return_Value>0.0535644000000</Return_Value>
</Table>
FirstAttribute: null
HasAttributes: false
HasElements: true
IsEmpty: false
LastAttribute: null
Name: {Table}
NodeType: Element
Value: "10 Percentile0.0535644000000"
編輯
在下面的語句 - 我想最好要。凡兩次過濾掉那些沒有1個百分。
myHoldingsDistribution.Add(row.Descendants()
.Where(y => y.Name.LocalName == keyName)
.Select(q => q.Value).Max(),
Double.Parse(row.Descendants().Where(y => y.Name.LocalName == valueName)
.Select(q => q.Value).Max()) * multiplier);
你是什麼意思「你不能有兩個where子句?你從你提供的代碼中得到什麼錯誤? – StriplingWarrior 2010-12-07 17:19:08
「我想最好要。凡兩次過濾掉那些沒有1個百分。」 - 什麼阻止你?你通常可以只連鎖。凡陳述在一起:`rows.Where(...),其中(...)`什麼,當你試試這個,什麼做的代碼看起來像發生? – StriplingWarrior 2010-12-07 17:53:05