3
我具有以下示例XML:如何使用XPath選擇最新/最新(基於時間戳)的N個元素?
<datas>
<data>
<id>1</id>
<timestamp>2013-01-19T14:20:01.000+02:00</timestamp>
</data>
<data>
<id>2</id>
<timestamp>2013-09-13T14:52:34.000+02:00</timestamp>
</data>
<data>
<id>3</id>
<timestamp>2013-10-02T12:47:47.000+02:00</timestamp>
</data>
<data>
<id>4</id>
<timestamp>2013-10-23T14:52:08.000+02:00</timestamp>
</data>
<data>
<id>5</id>
<timestamp>2013-07-23T14:55:20.000+02:00</timestamp>
</data>
<data>
<id>6</id>
<timestamp>2013-10-02T12:44:24.000+02:00</timestamp>
</data>
</datas>
我可以得到過去的3個元素與以下XPath: //數據[位置()>最後() - 3]/*:ID, '' 這將返回id:4,5,6
我需要的是獲取3個元素與最新(最大)時間戳。我可以使用max函數來獲取最新元素(但是我想要n = 3個最新元素) - t.i元素的id:3,4,6。
這可能只使用xpath?我使用XPath 2.0。
使用XPath 2.0肯定可行。你正在使用哪個版本? –
@MichaelKay:這是真的嗎?到目前爲止,我只發現有關在_pure_ XPath中排序的負面答案。什麼似乎可用。儘管如此,它們是各種編程語言和框架中的助手類,它們增加了排序功能。如果您無法訪問這些內容,但必須依賴單個XPath表達式,那麼我認爲您運氣不佳。 –
也許我第一次沒有仔細閱讀這個問題,一週後我不確定我在想什麼。它 –