2011-08-25 95 views
1

我想統計根節點和當前節點之間的特定節點的總數。 例如:我如何知道xslt中根節點和當前節點之間的特定節點總數?

<w:body> <!-- root Node --> 
    <w:p/> 
      <w:rect> 
      <w:p>some text1</w:p> 
      </w:rect> 
    <w:p/> 
      <w:rect> 
       <w:p>some text2</w:p> 
      </w:rect> 

    <w:p/> 
    <w:p/> 
    <w:p/> 
      <w:rect> 
      <w:p>some text5</w:p> <!-- This is current node now --> 
      </w:rect> 
    <w:p/> 
    <w:p/> 
    <w:p/> 
    <w:p/> 
</w:body> 

這是我scenario.Here,假設一些文字是我目前node.So,現在我想父::寬:當前節點的P(假設該節點名稱作爲「targetNode」)。之後,我想計算從根節點到targetNode的同一級別w:p的總數。

我想要的輸出結果爲:5

請指引我走出這個問題...

+0

@don Rody:假設它可能包含孩子或沒有任何東西。我想從當前節點的根節點到父節點計算總數。就是這樣。 – Saravanan

+0

如果'some text5'是您在XML示例中查看的文本節點,然後導航到本身位於'w:rect'元素內的父'w:p'元素,那麼我想知道5是想要的輸出爲「w:p的相同級別的總數」,因爲父w'p'元素根本沒有同級元素。那麼你有什麼樣的水平? –

+0

只有這是根節點的直接孩子 – Saravanan

回答

2

這個XPath表達式是什麼:

count(ancestor::w:p[1]/preceding-sibling::w:p + 1) 

這樣,我們得到所有先前兄弟的計數w:p第一祖先節點w:p + 1(第一祖先w:p本身)。

+0

:對不起empo,它不工作在我的情況下...它被retreived 0 – Saravanan

+0

@Saravanan我的錯,沒有看到w:p不是直接父母,現在檢查我的答案) –

+1

::非常感謝...它工作絕對好... – Saravanan

相關問題