我有一些这样的字符串:
04:51 05:09 05:29_ 05:49 06:09 06:29 06:49_ 07:09 07:25 07:40 07:55 08:10_ 08:25 08:40 08:55 09:10 09:25_ 09:40 09:55 10:10 10:25 10:40_ 10:55 11:10 11:25 11:40 11:55_ 12:10 12:25 12:40 12:55 13:10_ 13:25 13:40 13:55 14:10 14:25_ 14:40 14:55 15:10 15:25 15:40_ 15:55 16:10 16:25 16:40 16:55_ 17:10 17:29# 17:49# 18:09# 18:29#_ 18:49# 19:09# 19:29# 19:49#_ 20:09# 20:29# 20:49# 21:09#_ 21:29# 21:49# 22:09# 22:29#_ 22:51# 23:12#
我需要按小时对上面的字符串进行分组以获得这样的xml:
<departure hour="04">
<min>51</min>
</departure>
<departure hour="05">
<min>09 29_ 49</min>
</departure>
etc.
我已经尝试了一些针对 linq 的分组,但到目前为止还没有什么令人满意的...
好的,现在我有这样的拆分:
var dep = parts[2].Split(' ').Select(p => new XElement("departure", new XAttribute("hour", p.Split(':')[0]), new XElement("min",p.Split(':')[1])));
例如,这给了我这样的东西:
<departure hour="04">
<min>49</min>
</departure>
<departure hour="05">
<min>07</min>
</departure>
<departure hour="05">
<min>27_</min>
</departure>
<departure hour="05">
<min>47</min>
</departure>
问题是分组代码...
编辑:
我设法写了这样的东西:
var depGrouped = from grouped in dep
group grouped by new {h = (string)grouped.Attribute("hour")} into g
select new XElement("departure", new XAttribute("hour", g.Key.h), new XElement("min", g));
但它产生的并不完全符合我的预期,例如:
<departure hour="05">
<min>
<departure hour="05">
<min>04</min>
</departure>
<departure hour="05">
<min>24</min>
</departure>
<departure hour="05">
<min>44</min>
</departure>
</min>
</departure>
<departure hour="06">
<min>
<departure hour="06">
<min>06_</min>
</departure>
<departure hour="06">
<min>24</min>
</departure>
<departure hour="06">
<min>44</min>
</departure>
<departure hour="06">
<min>58</min>
</departure>
</min>
</departure>
您能帮我从输出中排除一些信息以匹配帖子顶部的示例吗?