如何根据顺序及其在XPath中的存在情况来选择元素?
例如,如何选择最佳质量的视频(如果存在)。
<VIDEOS>
<LOW_RES>video_L.flv</LOW_RES>
<HI_RES>video_H.flv</HI_RES>
<HD/>
</VIDEOS>
这应该返回video_H.flv,因为高清版本不存在
这种情况可以存在(视频名称可以是随机的):
<VIDEOS>
<LOW_RES>video_L.flv</LOW_RES>
<HI_RES>video_H.flv</HI_RES>
<HD>video_hd.mp4</HD>
</VIDEOS>
这应该返回video_hd.mp4,因为存在高清版本。
非常感谢。
最佳答案
使用:
/*/HD[text()]
|
/*/HI_RES[text() and not(../HD/text())]
|
/*/LOW_RES[text() and not(../HD/text()) and not(../HI_RES/text())]
关于xml - Xpath如何根据顺序以及是否存在元素来选择元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2576745/