我想查找名称为'lbl'且文本值为'10'的节点,并且其父级不是名称为'Item'的节点

<XML>
  <Cat>
    <Summary>
      <Item>
        <lbl>10</lbl>
    </Item>
    </Summary>
  </Cat>
</XML>


这是我的xpath:

XPathExpression expr = xpath.compile("//lbl[text()='10']//not[parent::Item]")


但是它返回一个节点,预期结果不返回任何东西。

最佳答案

你很近正确的是

//lbl[text()='10' and not(parent::Item)]

10-07 13:51