2011-08-18 31 views
6

Tôi muốn nhận các nút dựa trên điều kiện được đưa ra trong xpath để so sánh ngày. Làm thế nào tôi có thể làm điều đó bằng cách sử dụng xpath?Cách so sánh ngày trong xpath để chọn các nút

Tôi có cần sử dụng adjust-dateTime-to-timezone không?

+0

Bạn có thể cung cấp ví dụ về so sánh mà bạn cần (ví dụ: các nút có giá trị lớn hơn X, các nút nằm giữa x và y, v.v.) không? Ngày tháng dễ dàng hơn nhiều trong XPath 2.0. Bạn có thể sử dụng 2.0, hay bạn cần một giải pháp 1.0? –

Trả lời

3

XPath 2.0 có number of date/time functions and operators để giúp xử lý ngày.

Giả sử rằng bạn đã có một tài liệu XML như thế này:

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

và bạn muốn lọc các sự kiện bằng cách @date cho những vào Tháng Tám 2011.

Bạn có thể sử dụng XPath này:

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

và nó sẽ chọn các yếu tố event cho barbaz.