使用 string[] 在 XmlNode 中查找最新日期

Posted

技术标签:

【中文标题】使用 string[] 在 XmlNode 中查找最新日期【英文标题】:Finding the latest date in XmlNode using string[] 【发布时间】:2016-10-06 21:02:16 【问题描述】:

我正在循环通过XmlNodeList 并在字符串[] 中获取节点创建日期。例如:

date[0] = 2016 //year
date[1] = 07 //month
date[2] = 23 //day

我的问题是,将这个string[] 与另一个string[] 进行比较,找出哪个日期最晚的最有效方法是什么?我可以用一堆 if 语句来比较每个元素,但觉得这不是最好/最漂亮的解决方案。提前致谢。

【问题讨论】:

【参考方案1】:

您可以使用ParseExactstring[] 中创建一个DateTime。然后按它订购:

List<string[]> data = new List<string[]>
 
    new string[]  "2016", "07", "23" , 
    new string[]  "2017", "01", "01"  
;

var latestTime = data.OrderByDescending(item => 
                         DateTime.ParseExact(string.Join("/", item), @"yyyy/MM/dd", null))
                     .FirstOrDefault();

//latestTime = 1/1/2017

【讨论】:

以上是关于使用 string[] 在 XmlNode 中查找最新日期的主要内容,如果未能解决你的问题,请参考以下文章

C# 中 XmlNode.SelectSingleNode(string xpath) 的正确用法是啥?

XML字符串到XML文档

将字符串转换为 xmlnode

如何使用 XmlNode() 作为 VB.NET 中 web 服务的结果?

如何在 C# 中使用 XmlDocument 和 XmlNode 修改现有 XML 文件

在 C# 中确定 XmlNode 是空还是 null?