【发布时间】:2012-07-02 07:25:30
【问题描述】:
我得到了这个 XML 文件:
<Msg UserText="start 0">
</Msg>
<Msg UserText="A">
</Msg>
<Msg UserText="A">
</Msg>
<Msg UserText="start 1">
</Msg>
<Msg UserText="A">
</Msg>
<Msg UserText="start 2">
</Msg>
<Msg UserText="A">
</Msg>
<Msg UserText="A">
</Msg>
<Msg UserText="A">
</Msg>
我需要计算每个“开始 x”之间有多少个“A”
即对于上面我会输出:
start 0 : 2
start 1 : 1
start 2 : 3
我应该如何在 C# 中解决这个问题?我有几个方向,但我敢肯定那里有更简单的(例如使用 linq)
【问题讨论】:
-
你有没有尝试过(我的意思是除了在这里发布这个问题)?例如使用 Visual Studio 编写一些代码并将您听到的指示付诸行动?您在执行此操作时是否遇到了一些具体问题?
-
@DarinDimitrov 我做到了,我尝试遍历所有节点,但代码似乎很麻烦,我希望能够深入了解同级别解析。
-
msdn.microsoft.com/en-us/library/bb352694 遍历
Msg无论您的父元素是什么的后代? -
@nbrooks 已经这样做了,我希望有一个 select ... 子句可以为我将它们分组,而不是保持我所在的状态。
标签: c# xml-parsing linq-to-xml