选择具有最大日期属性的属性

时间:2016-02-25 05:46:17

标签: xml oracle xpath clob

我在oracle中解析一个XML clob,我有一个像这样的多项序列的情况:

 <ns2:UserID dateTime="2016-02-10T17:25:02.435-05:00" name="Indi Psit" note="review" userType="CompletedBy" />
           <ns2:UserID dateTime="2016-02-10T17:25:02.501-05:00" name="Indi Psit" note="review" userType="InProgressBy" />
           <ns2:UserID dateTime="2016-02-10T17:31:18.379-05:00" name="Indi Psit" note="accept" userType="ActionBy" />

我可以通过执行以下操作从此序列中获取max(dateTime):

 OfferUpdateDate                     varchar2(30) PATH'max(/off:Users/typ:UserID/@dateTime/xs:dateTime(.))'

但我想从UserID元素中获取“name”属性,其中dateTime = max(dateTime)来自序列。我该怎么做?

1 个答案:

答案 0 :(得分:0)

这是获取name元素的UserID属性的一种可能的XPath,其中dateTime属性等于最大dateTime(为了便于阅读而包装):

/off:Users/typ:UserID[
    @dateTime/xs:dateTime(.) eq max(/off:Users/typ:UserID/@dateTime/xs:dateTime(.))
]/@name