2011-08-18 10 views
6

Desidero ottenere i nodi in base alla condizione indicata in xpath per il confronto delle date. Come posso farlo usando xpath?Come confrontare le date in xpath per selezionare i nodi

Devo utilizzare adjust-dateTime-to-timezone?

+0

Puoi fornire un esempio del confronto di cui hai bisogno (ad esempio, i nodi il cui valore è maggiore di X, i nodi compresi tra x e y, ecc.)? Le date sono molto più semplici in XPath 2.0. Puoi usare 2.0 o hai bisogno di una soluzione 1.0? –

risposta

3

XPath 2.0 ha un number of date/time functions and operators per facilitare l'elaborazione delle date.

Si supponga che si aveva un documento XML come questo:

<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> 

e si desidera filtrare gli eventi da @date per coloro che nel mese di agosto 2011.

È possibile utilizzare questo XPath:

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

e selezionerebbe gli elementi event per bar e baz.

Problemi correlati