2016-11-28 5 views
1

を持つ要素を取得するには、XPathのこの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> 

私の質問は、最高@bitrateMediafileを取得する方法である(この場合には、私はhttp://example.com/test2.mp4を取得する必要があります最高)。

たとえば、私はMediafiles

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

答えて

2

で配列を取得することができるよ。ここの最大または最小の属性値を持つ要素を選択するために、XPathを使用する方法は次のとおりです。

最大

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

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

(あなたが最大/最小値@bitrateで結ばすべてMediaFileの要素をしたい場合は、末尾[1]をドロップします。)

+0

ありがとうございます!完璧に働いている:) –

関連する問題