2017-02-16 65 views
1

私はこのXMLを持っており、branduidの子が存在しない/root/ecommerce/cart/productのすべてを/root/ecommerce/promo/promobrands/promobrand/branduidという値にしようとしています。子値が別の子軸と等しくないノードを取得する方法はありますか?

<root> 
    <ecommerce> 
     <cart> 
      <product> 
       <branduid>value1</branduid> 
      </product> 
      <product> 
       <branduid>value2</branduid> 
      </product> 
      <product> 
       <branduid>value3</branduid> 
      </product> 
      <product> 
       <branduid>value4</branduid> 
      </product> 
     </cart> 
     <promo> 
      <promobrands> 
       <promobrand> 
        <branduid>value1</branduid> 
       </promobrand> 
       <promobrand> 
        <branduid>value3</branduid> 
       </promobrand> 
      </promobrands> 
     </promo> 
    </ecommerce> 
</root> 

だから私はそのbranduid値value2value4ある/root/ecommerce/productノードを取得する必要があります。 XPathにこの結果を得る方法はありますか?

答えて

1

XPath表現の下に試してみて、あなたが表現の下に、XPath 2.0のを使用している場合、私は結果

//cart/product[branduid[not(text()=//promobrand/branduid/text())]] 
+0

これは私の日でした、ありがとうございました! :) – Chitarrista

0

を知っているように達成するための簡単な方法です:

//branduid except //promobrand/branduid

そうアンダーソンの答えがされ良い。

関連する問題