2016-11-28 64 views
1

對於這個XML,XPath來獲取元素最大/最小屬性值

<MediaFiles> 
    <MediaFile id="" bitrate="670" type="video/mp4"> 
    http://example.com/test.mp4 
    </MediaFile> 
    <MediaFile id="" bitrate="1800" type="video/mp4"> 
    http://example.com/test2.mp4 
    </MediaFile> 
    <MediaFile id="" bitrate="600" type="video/x-flv"> 
    http://example.com/test3.mp4 
    </MediaFile> 
    <MediaFile id="" bitrate="450" type="video/x-flv"> 
    http://example.com/test4.mp4 
    </MediaFile> 
</MediaFiles> 

我的問題是如何讓Mediafile最高@bitrate(在這種情況下,我應該得到http://example.com/test2.mp4作爲@bitrate屬性是1800最高)。

例如,我能夠得到一個數組與Mediafiles

/VAST/Ad/InLine/Creatives/Creative/Linear/MediaFiles/MediaFile 

回答

2

這裏是如何使用XPath選擇具有最大或最小的屬性值的元素:

最大

//MediaFile[not(@bitrate < ../MediaFile/@bitrate)][1] 

最小值

//MediaFile[not(@bitrate > ../MediaFile/@bitrate)][1] 

(如果你希望所有MediaFile元素與最大/最小@bitrate值綁下降後[1]

+0

謝謝!完美的工作:) –

相關問題