Xpath或运算符.如何使用

Ste*_*ano 2 xpath operators

我没有得到如何在Xpath中使用或运算符.

让我们假设我有一个xml的结构:

<root>
    <a>
        <b/>
        <c/>
    </a>
    <a>
        <b/>
    </a>
    <a>
        <d/>
        <b/>
    </a>
    <a>
        <d/>
        <c/>
    </a>
</root>
Run Code Online (Sandbox Code Playgroud)

我可以用一个Xpath获得所有节点B或C的A节点.我知道我可以单独寻找B和看到的结果并且总结后删除重复的结果(如下所示)但是我我相信有更好的方法.

List1 = Xpath(./a/b/..)
List2 = Xpath(./a/c/..)
MyResult = (List1 + List2 - Repetitions)
Run Code Online (Sandbox Code Playgroud)

我想这个解决方案也适用于AND运算符.

Dab*_*ler 5

/root/a[b or c]会给你所有<a>有一个<b>或一个<c>孩子的元素.