說我有這樣的一羣元素:的XPath獲取某個節點回用最大值
<rs>
<r>
<roomID>ID2</roomID>
</r>
<r>
<roomID>ID2</roomID>
</r>
<r>
<roomID>ID3</roomID>
</r>
<r>
<roomID>ID2</roomID>
</r>
</rs>
<rooms>
<room id="ID1">
<val>200</val>
</room>
<room id="ID2">
<val>100</val>
</room>
<room id="ID3">
<val>200</val>
</room>
</rooms>
我通過rs
需要週期,並找到具有基於roomID
最高的房值r
,這將是這裏的第三個r
元素(roomID = ID3)。
如果我這樣做:
<xsl:variable name="max1" select="max(//room[@id=//r/roomID]/val)"/>
,我得到200,這是正確的。但是有什麼辦法可以從中得到特定的ID嗎?如果我只是使用最大值從room
元素中取回ID,我不知道它是否從同一節點回來。事情是這樣的:
//room[val=max(//room[@id=//r/roomID]/val)]/@id[1]