2013-10-30 2 views
1

나는 이렇게 xml있다;두 자녀가 모두있는 요소를 계산하는 방법은 무엇입니까?

<A Ref=""blah"" Completed=""Y"" ErrorCount=""0""> 
     <B Type=""Output""> 
      <C> 
       <D Val=""02"" /> 
       <E Val=""05"" /> 
      </C> 
      <C> 
       <D Val=""02"" /> 
       <F Val=""05"" /> 
      </C>    
     </B > 
</A> 

나는 D와 E 자식이 모두있는 'C'요소의 수를 계산하고 싶습니다. 따라서이 경우에는

(두 번째 C는 D & F를 가지고로) 나는

<xsl:value-of select="count(B/C/child::D"/> 

를 사용하여 수를 얻을 수있는 일이 될 것입니다하지만 난 아이를해야하는 C를 지정하는 방법을 볼 수 없습니다 E도.

나는

<xsl:value-of select="count(B/C/child::D and B/C/child::E"/> 

을 시도했지만 그것이

답변

3

술어를 사용 좋아하지 않습니다,

<xsl:value-of select="count(B/C[D and E])"/> 

대괄호 표현이 선택된 노드 세트에 대한 제한을두고 그래서 뭐 이것은 현재 노드의 모든 B 요소 자식을 찾은 다음 각 요소에 대해 C 요소 자식을 찾고 해당 목록을 필터링하여 적어도 하나의 D 요소가있는 요소 만 포함하도록하는 것입니다. 하나의 E 아이.

+0

감사합니다. 그냥 알아낼 수있었습니다. –

관련 문제