Vb.net XPath测试日期

Vb.net XPath测试日期,vb.net,xpath,Vb.net,Xpath,我到处寻找,发现XPATH有一些非常有趣的功能,但我还没有找到测试日期的方法 我有一个Date属性,我想用它来获取节点集合 <History> <item> <Name>string</Name> <Location>string</Location> <VisitDate>01/08/2013</VisitDate>

我到处寻找,发现XPATH有一些非常有趣的功能,但我还没有找到测试日期的方法

我有一个Date属性,我想用它来获取节点集合

<History>
        <item>
          <Name>string</Name>
          <Location>string</Location>
          <VisitDate>01/08/2013</VisitDate>
          <Description>string</Description>
        </item>
</History>
现在这不起作用了。它在
SelectNodes
处出错,因此它显然不喜欢“>”位

XPath中是否有任何“Date”函数,我发现
boolean()
<代码>concat()<代码>真()<代码>不正确()<代码>翻译()<代码>子字符串()等等,我想我最终将不得不使用这些,也许还有其他的组合,但我不知道如何做到“大于”


有没有人在这方面了解XPath?

我一直发现比较XPath中日期的最简单方法是将它们转换为YYYYMMDD格式的整数,即标准XML日期格式,但去掉连字符

最后,您可以对以下各项进行有效比较:

translate('2013-08-01', '-', '') > 20130824

遗憾的是,您的日期存储为DD/MM/YYYY而不是YYYY-MM-DD,因为这意味着您必须使用
substring()
来重新组织值,但这应该足够简单。

我一直发现,在XPath中比较日期的最简单方法是将它们转换为YYYYMMDD形式的整数,即标准XML日期格式,但删除了连字符

最后,您可以对以下各项进行有效比较:

translate('2013-08-01', '-', '') > 20130824

遗憾的是,您的日期存储为DD/MM/YYYY而不是YYYY-MM-DD,因为这意味着您必须使用
substring()
来重新组织值,但这应该足够简单。

XPath 2.0比XPath 1.0具有更好的日期和时间处理能力。NET中的本机XPath处理器仅支持XPath 1.0,但至少有两个在.NET下运行的第三方产品提供了对2.0的支持:Saxon(我的产品)和XmlPrime


XPath 2.0仍然要求日期为ISO格式,但从
dd/mm/yyyyy
转换为ISO格式非常简单,例如使用正则表达式。

XPath 2.0比XPath 1.0具有更好的日期和时间处理能力。NET中的本机XPath处理器仅支持XPath 1.0,但至少有两个在.NET下运行的第三方产品提供了对2.0的支持:Saxon(我的产品)和XmlPrime


XPath 2.0仍然要求日期为ISO格式,但从
dd/mm/yyyyy
转换为ISO格式非常容易,例如使用正则表达式。

我不能格式化,也不能“回答”,所以请原谅阅读此文件的困难------那么,下面是一个合乎逻辑的解决方案吗?-----------Dim d As Date=DateAdd(DateInterval.Day,-2,Today)----s=“//历史记录/项目[翻译(子字符串(VisitDate,1,字符串长度(VisitDate之前的子字符串),”,“-”,“)>”,&d.ToString(“yyyyMMdd”)&“]------我已按照您的建议将XML中的所有日期更改为-------yyyy-mm-dd hh:mm-----。我还将DateAdd改为-2,这样我就可以做一个“>”了,除了在我开始工作之前的零散单引号外,这很有效!对非常感谢大家…我不能格式化这个,我也不能“回答”,所以请原谅阅读这篇文章的困难------那么,下面是一个合乎逻辑的解决方案吗Dim d As Date=DateAdd(DateInterval.Day,-2,Today)----s=“//历史记录/项目[翻译(子字符串(VisitDate,1,字符串长度(VisitDate之前的子字符串),”,“-”,“)>”,&d.ToString(“yyyyMMdd”)&“]------我已按照您的建议将XML中的所有日期更改为-------yyyy-mm-dd hh:mm-----。我还将DateAdd改为-2,这样我就可以做一个“>”了,除了在我开始工作之前的零散单引号外,这很有效!对非常感谢大家…在哪里可以找到XPath 2.0?在哪里可以找到XPath 2.0?