结合Oracle xpath表达式

时间:2017-11-07 15:38:59

标签: xpath oracle11g

我在Oracle 11g上运行xpath。 使用以下代码我试图用@code =" A2"选择application元素下的数字元素。或" U2"。如果不存在这样的@code属性,那么我只想选择第一个应用程序元素,有或没有@code属性。 以下代码中的2个表达式(第2个注释掉)分别针对问题的两半进行工作:

1)其中@code =" A2"或" U2"

2)第一个申请

任何人都可以告诉我如何结合这两个表达式:

%3A

1 个答案:

答案 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

为了便于阅读,我分割了这行