2011-08-18 27 views
6

我想基於xpath中給出的條件獲取節點以進行日期比較。我如何使用xpath來做到這一點?我需要使用adjust-dateTime-to-timezone如何在xpath中比較日期以選擇節點

+0

能否提供您需要的比較示例(例如,值大於X的節點,x和y之間的節點等)? XPath 2.0中的日期更容易。你可以使用2.0,還是需要1.0解決方案? –

回答

3

XPath 2.0有一個number of date/time functions and operators來幫助處理日期。

假設你有一個這樣的XML文檔:

<doc> 
    <event date="2011-02-05">foo</event> 
    <event date="2011-08-01">bar</event> 
    <event date="2011-08-20">baz</event> 
    <event date="2011-11-07">qux</event> 

</doc> 

,並要通過@date對於那些在八月篩選事件2011年

你可以使用這個XPath:

/doc/event[xs:date(@date) le xs:date('2011-08-31') and 
          xs:date(@date) ge xs:date('2011-08-01')] 

並且它將爲barbaz選擇event元素。