2016-11-28 217 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

谢谢!完美的工作:) –

相关问题