【发布时间】:2018-09-17 14:58:17
【问题描述】:
我有一个包含数千个条目的 XElement 片段。我需要能够计算每个唯一 ID 元素的 qty 元素的组合值
例如,我有数百个用于维修程序的消耗品(用品),每个都有一个唯一的 ID(见下文)。如果 ID 是经常使用的消耗品,它可能会在我的 XElement 片段中被调用 50 次,并且它在 qty 元素中的值可能大于 1。 我需要遍历我的 XElement 片段,计算每个 ID 的 qty 元素值的总和。
<supplies>
<supply>
<id>104</id>
<qty>1</qty>
</supply>
<supply>
<id>27</id>
<qty>1</qty>
</supply>
<supply>
<id>104</id>
<qty>5</qty>
</supply>
<supply>
<id>104</id>
<qty>10</qty>
</supply>
<supply>
<id>16</id>
<qty>2</qty>
</supply>
</supplies>
在本例中,我需要将供应 ID 104(在本例中为 16)的所有 qty 元素的值相加,然后将所有供应 ID 27(即 1)的值和供应 ID 16 的值相加(这是2)。我需要为数百个唯一 ID 执行此操作。
我不介意它们每个人的总和是如何呈现给我的,如果需要的话,可以通过向每个 ID 添加一个元素,可能称为“总计”。
您知道如何实现吗?
【问题讨论】:
-
使用 LINQ to XML。 Stack Overflow 不是代码编写服务——你尝试过什么?
-
感谢您的有用评论。我猜到 linq to XML 因此是标签。只是在寻找一个指针。不过不用担心。
-
如果你不熟悉LINQ,为此你需要使用
group ... by。
标签: c# xml linq-to-xml