来自XML文档
<?xml version="1.0" encoding="utf-8" ?>
<Data>
<Products>
<Product ProductId="1001" ProductName="ProductA" ProductPrice="123.45" />
<Product ProductId="1002" ProductName="ProductB" ProductPrice="100.45" />
</Products>
....
如何使用“Sum”查找ProductPrice?
当我使用
时XDocument doc = XDocument.Load("Product.xml");
var sum =
from tot in (int)doc.Descendants("Product").
Attributes("ProductPrice").Sum()
select tot;
我收到错误:“无法将类型system.xml.linq.xmlattribute转换为int”。
答案 0 :(得分:9)
我不确定你为什么在这里使用查询表达式,但我认为你想要:
int sum = doc.Descendants("Product")
.Sum(x => (int) x.Attribute("ProductPrice"));
重要的是,它使用overload of Sum
,它允许您指定一个函数从源元素到整数值。