2016-09-06 5 views
2

私の質問は簡単ですが、私は私がやりたいことができるように思えるいけない:私は//test/@targetAttribute="level 5"ノードを持っているどのように多くの先祖を知りたい数は、いつものように

<test targetAttribute="level 1"> 
    <test targetAttribute="level 2"> 
     <test targetAttribute="level 3"> 
     <test targetAttribute="level 4"> 
      <test targetAttribute="level 5"> 
      </test> 
     </test> 
     </test> 
    </test> 
</test> 

私は何も私のために働いていない、千件の事をしようとしている

  • count(//test/@targetAttribute="level 5"/ancestor::*)
  • //test/@targetAttribute="level 5"/count(ancestor::*)
  • count(ancestor::*[//test/@targetAttribute="level 5"])
  • ...

私はちょうどいないようです私がGoogleで見ているものを見つけることができるように...

01あなたが返すように上記のXPathを変更することができる必要があり、ここから

//test[@targetAttribute='level 5'] 

答えて

2

は、祖先の概念は要素のために知られているので、まず、あなたは@targetAttribute="level 5"を持つターゲット要素を見つける必要がありますターゲット要素の祖先要素の数:

count(//test[@targetAttribute='level 5']/ancestor::*) 

Demo

関連する問題