我如何在c#中使用Xml.Linq收集类似的xml标签?

时间:2015-06-07 14:36:23

标签: c# xml linq linq-to-xml xelement

我有一个带有此样式的xml文件

<all_elements>
    <elements>
            <element attribute="7" />
            <element attribute="1" />
            <element attribute="6" />
    </elements>
    <elements>
            <element attribute="2" />
            <element attribute="8" />
    </elements>
    .
    .
    .
</all_elements>

我希望用c#Xml.Linq计算每个元素分隔的平均值,用于exapmle:

average1= 4.66
average2= 5.00

我知道我必须使用XElement或XDocument类型并在XML上使用Query,我可以计算sum&amp;所有元素的平均值,不考虑顶级标记(元素),但我不知道如何计算每个元素的平均值 ......

如何使用c#Xml.Linq执行此操作?任何想法?

1 个答案:

答案 0 :(得分:1)

您需要一个嵌套查询:

root.Elements("elements").Select(
    e => e.Elements("element").Average(f => (int)f.Attribute("attribute"))
)