C# 边打边打
我有一个方法,可以通过xpath解析XML的开始日期和结束日期C# 边打边打,c#,xml,string,list,xpath,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/empl
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);
}
}
List GetWorkNodeDate=new List();
List GetWorkNodeEstablisment=new List();
XmlNodeList WorkNodeListDate=XmlResponceDoc.SelectNodes(“/response/employees/employee/starttime |/response/employees/employees/endtime”);
if(WorkNodeListDate!=null)
{
foreach(WorkNodeListDate中的XmlNode StartDate)
{
字符串GetStartDate=StartDate.InnerText;
GetWorkNodeDate.Add(GetStartDate);
}
}
我遇到的问题是,每次它从存储在xml中的许多数据中执行两次循环来收集开始日期和结束日期,我希望将它们合并为两个值,然后将它们存储到列表中。我只是想知道实现这一目标的最佳方式是什么?感谢您提供的帮助。我建议您改用for循环:
for (int i = 0; i < WorkNodeListDate.Count; i = i + 2)
{
string startAndStoptime = WorkNodeListDate[i].InnerText + "..." + WorkNodeListDate[i + 1];
}
for(int i=0;i
您可以访问开始和停止时间,并将它们放在一起。显然,你必须自己把它们存放在某个地方
迭代器每次增加2,因为这样您将访问另一个starttime。还要注意,它会检查i-1
是否小于计数。这是因为i+1不是另一个开始时间,而是停止时间。因此,当列表的开始时间“用完”时,i的上升必须停止
结果将是:
starttime…stoptime
“每次循环两次”为什么?在哪里?您能展示一些示例XML数据以便我们可以尝试一下吗?目前的问题是,列表一个接一个地存储开始和结束日期,我不知道如何在流程进行时或之后对它们进行连接。如何使用XPath/response/employees/employees
和访问starttime
和endtime
元素?@Martin Liversage,非常感谢