Concat在循环时

时间:2014-08-08 13:25:58

标签: c# xml string list xpath

我有一个方法,它通过xpath解析XML的开始和结束日期。

List<string> GetWorkNodeDate = new List<string>();
List<string> GetWorkNodeEstablisment = new List<string>();

XmlNodeList WorkNodeListDate = XmlResponceDoc.SelectNodes("/response/employees/employee/starttime | /response/employees/employee/endtime");

if (WorkNodeListDate != null)
{
    foreach (XmlNode StartDate in WorkNodeListDate)
    {
        string GetStartDate = StartDate.InnerText;
        GetWorkNodeDate.Add(GetStartDate);
    }
}

我遇到的问题是,每次从多个存储在xml中的循环完成两次以收集开始和结束日期时,我想将它们连接起来,然后将它们存储到List中。我只是想知道实现这个目标的最佳方法是什么?感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

我建议您使用for-loop代替:

for (int i = 0; i < WorkNodeListDate.Count; i = i + 2)
{
    string startAndStoptime = WorkNodeListDate[i].InnerText + "..." + WorkNodeListDate[i + 1];
}

您可以访问开始和停止时间并将它们放在一起。显然,你必须自己将它们存放在某个地方。

迭代器每次增加2,因为那样你将访问另一个启动时间。另请注意,它会检查i-1是否小于计数。这是因为i + 1不是另一个开始时间,而是停止时间。因此,当列表&#34;用完时,我必须停止提升。起始时间。

结果将是:starttime...stoptime