C#和XML:运行子节点的总和

时间:2014-05-26 13:20:36

标签: c# xml

好的,我有一个生成XML文件的数据列表。 这是:http://pastebin.com/cnF9bQqf

基本上,在C#中,我希望遍历某些特定的子节点并获取值。

首先是总价。所以节点。这个xml文件中有三个值,我想循环并添加它们。

其次,计算房间质量的数量。 < \质量取代。所以在这个列表中有1个Standard和2个Premium,我希望能够遍历列表并计算这些:)

我不太确定从哪里开始:S

1 个答案:

答案 0 :(得分:0)

您可以使用LINQ to XML获取所有Room_Price元素,然后使用Sum方法:

var xDoc = XDocument.Load("path");
var sum = xDoc.Descendants("Room_Price").Select(x => (int)x).Sum();

对于Qualities,您可以使用词典:

var qualities = xDoc.Descendants("Quality")
      .GroupBy(x => (string)x)
      .ToDictionary(g => g.Key, g => g.Count());

qualities["Premium"]会给出2的价值。