尝试在Xmldocument中应用过滤器/属性比较。显然,以下代码片段不起作用,因为无法使用number()函数转换表达式。 (根据我的另一个问题的答案)。
我想知道是否有办法在XmlDoc中进行DateTime字符串比较。
XmlNodeList test = x2PathDoc.SelectNodes("//Config
/Entity
[@TargetDateTime>
'2010-12-19T03:25:00-08:00']");
答案 0 :(得分:1)
进行比较时,xpath会将参数转换为数字。由于'2010-12-19T03:25:00-08:00'无法转换为数字,SelectNode会返回一个空列表。
如果您要以不同的格式存储日期以便将其转换为数字,那么您可以。请参阅以下示例:日期格式为yyyymmdd.hhmmss
var root = new XmlDocument();
root.LoadXml(@"<dates><date value=""20060419.201500""/><date value=""20060420.201500""/><date value=""20060421.201500""/></dates>");
var node = root.SelectNodes(@"dates/date[@value < 20060421.235959]")I