5
<Root>
  <SomeElement>
    ...
    <Wanted>.....</Wanted>
    <UnWanted>
      <Wanted>.....</Wanted>
    </UnWanted>
    <Wanted>.....</Wanted>
    ...
  </SomeElement>
</Root>

「」要素の子ではなく、任意のレベルでWanted「」内にある「」要素を選択したい。SomeElementUnWanted

XPathでは、の/Root/SomeElement//Wanted子を除外することはできませんUnWanted

4

1 に答える 1

3

あなたは試すことができます

/Root/SomeElement//Wanted[not(ancestor::UnWanted)]

Wantedこれにより、要素の子、孫など(任意のレベル)であるすべての要素が除外されUnWantedます。の直接の子Wantedある要素のみを除外する場合(ただし、孫である要素は引き続き含めるなど)は、次のように変更します。UnWantedancestor::parent::

/Root/SomeElement//Wanted[not(parent::UnWanted)]
于 2013-02-27T10:58:29.273 に答える