我在Oracle 11g上运行xpath。 使用以下代码我试图用@code =" A2"选择application元素下的数字元素。或" U2"。如果不存在这样的@code属性,那么我只想选择第一个应用程序元素,有或没有@code属性。 以下代码中的2个表达式(第2个注释掉)分别针对问题的两半进行工作:
1)其中@code =" A2"或" U2"
2)第一个申请
任何人都可以告诉我如何结合这两个表达式:
%3A
答案 0 :(得分:1)
我认为逻辑可以是 - 如果没有a
则返回b
或返回a
a | b[not(../a)]
在你的情况下是:
applications/
(application[(@code="A2" or @code="U2")] |
application[not(../application[@code="A2" or @code="U2"])])
[1]/applicationId/number
为了便于阅读,我分割了这行