有没有办法比较xpath表达式中的时间?

时间:2015-04-01 22:16:47

标签: xml xpath

所以,对于我的XML,我有这个:

<venues>
<venue venueID="1">
  <name>Nillington Center</name>
  <location>Nullville</location>
  <capacity>10000</capacity>
  <openingTime>07:00:00</openingTime>
  <closingTime>22:00:00</closingTime>
  <Manager>DJ8S1L0</Manager>
  <telephone>01101 111011</telephone>
</venue>

是否有可能构建一个可以计算的Xpath表达式,假设有多个场地,opensTime&gt; &#39; 18:00:00&#39;如果是的话,怎么样?

比较适用于整数,例如我没有问题得到类似的东西     /venues/venue[capacity > 8000]工作但不是时间。

非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:1)

试试这个:

venues/venue[number(translate(substring(openingTime, 1, 5), ":", ".")) &gt; 18]

步骤:

  • 摆脱秒部分(我认为这不重要)
  • 换掉&#34;:&#34;对于小数,所以字符串已准备好进行数字转换(换句话说,18:00变为18.00)
  • 将小时和分钟部分转换为数字(这使比较有效)