XPath查询:选择只有一个子节点的节点

时间:2018-04-04 22:02:53

标签: xml xpath

<Shop>
        <Managers>
            <Manager>Bob</director>
        </Managers>
        <staff>
            <supervisor>Bob</supervisor>
        </staff>
</Shop>


    <Shop>
        <Managers>
            <Manager>Jim</director>
            <Manager>John</director>
        </Managers>
        <staff>
            <supervisor>Jack</supervisor>
        </staff>
</Shop>

我正在寻找一个xpath查询,它只输出管理员数量为1的地方。

1 个答案:

答案 0 :(得分:0)

您可以使用以下XPath表达式,该表达式仅选择正好一个 Shop元素的Manager元素作为Managers的子元素:

//Shop[count(Managers/Manager) = 1] 

<强> P.S:
我用</director>元素替换了所有</Manager>结束元素,以使您的XML格式正确。