微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xml – Xpath如何根据订单选择元素并依赖于它的存在

如何根据订单选择一个元素并依赖于它在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版本存在.
非常感谢.

解决方法

使用:

/*/HD[text()]
|
 /*/HI_RES[text() and not(../HD/text())]
|
 /*/LOW_RES[text() and not(../HD/text()) and not(../HI_RES/text())]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。