对于此XML,
<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
最佳答案
这是使用XPath选择具有最大或最小属性值的元素的方法:
最大值
//MediaFile[not(@bitrate < ../MediaFile/@bitrate)][1]
最低要求
//MediaFile[not(@bitrate > ../MediaFile/@bitrate)][1]
(如果希望所有
[1]
元素与最大/最小MediaFile
值绑定在一起,则丢弃尾随的@bitrate
。)