我的XML文件看起來像這樣如何找到值之和與LINQ
<xxx>
<fff>1</fff>
</xxx>
<xxx>
<fff>1</fff>
</xxx>
而且我想找到值的節點的總和。我想這樣:
var sum = from c in el.Elements()
select new {I don't know what to write here}
然後迭代sum,但我想要在一個查詢中執行它。
如何查詢將是什麼樣子?
我的XML文件看起來像這樣如何找到值之和與LINQ
<xxx>
<fff>1</fff>
</xxx>
<xxx>
<fff>1</fff>
</xxx>
而且我想找到值的節點的總和。我想這樣:
var sum = from c in el.Elements()
select new {I don't know what to write here}
然後迭代sum,但我想要在一個查詢中執行它。
如何查詢將是什麼樣子?
也許這樣的事?
int sum = root.Descendants("fff").Sum(e => (int) e);
如果什麼有一個XML部分'
@ L.B嘿,別問我。我剛剛提供了一個簡單的單一查詢解決方案。 – 2012-03-23 23:55:28
我認爲這將是更多這樣的:
int sum = root.Descendants("fff").Sum(e => int.Parse(e.Value));
與其他答案有什麼不同? – 2012-03-23 23:49:14
e實際上是一個XElement,它有一個名爲Value的屬性,它是一個包含fff元素文本的字符串。我不認爲巴拉斯的答案會實際編譯。 – 2012-03-23 23:52:12
會,感謝LINQ到XML魔術和做同樣的事情 - 只是比你的答案簡潔得多 – BrokenGlass 2012-03-23 23:54:13
對於需要使用的TryParse不分析,例如異常情況
int sum = el.Descendants("fff").Sum (e =>
{
int v;
return int.TryParse(e.Value, out v) ? v : 0;
});
'我想從'中找到值的總和。我猜字段'fff'的總和,但如果你的真正的XML中有更多的整數字段呢?你爲什麼不發佈你的**真實**問題? – 2012-03-23 23:44:07
yes.there還有另一個整數字段。但我認爲有可能從這個領域獲得價值 – 2012-03-23 23:47:18
然後看到下面的答案;) – 2012-03-23 23:50:41