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())]

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念