xpath
2011-12-05 2 views 0 likes 
0

없는 특정 자녀가있는 경우 : 어떻게 할 수XPath는 체크 노드가 나는이 같은 HTML 파일이

:

가 첫 번째 요소는 하나의 자식을 가지고 있으며, 두 번째는 두 아이가
<tr> 
    <td class= 'iconmenu' width="100%">...</td> 
</tr> 
<tr> 
    <td class= 'iconmenu' width="100%">...</td> 
    <td class= 'iconmenu'>...</td> 
</tr> 

, 질문입니다 첫 번째 요소에 자식이 하나 있는지 확인하십시오.

<xsl:if test="count(/*/tr[1]/td)=1"> 

주 사용 :

count(/*/tr[1]/td) 

이 같은 비교를 수행에만 td 아이들을 계산

count(/*/tr[1]/*) 

:

답변

2

tr의 자식 요소의 수를 계산 절대 경로 (로 시작)). count(//tr[1]/td)을 유혹받을 수 있습니다. 이 경우 의 수가 모두tds이고, 은 문서의 모든 테이블에있는 첫 행인 모든 행입니다.

-1
let $s := <test><table> 
<tr> 
    <td class= "iconmenu" width="100%">...</td> 
</tr> 
<tr> 
    <td class="iconmenu" width="100%">...</td> 
    <td class="iconmenu">...</td> 
</tr> 
</table></test> 


return fn:count($s//table/tr[1]/td) 

하십시오 REF : http://www.xqueryfunctions.com/xq/c0015.html#c0016

0
<xsl:for-each select="tr"> 
    <xsl:variable name="count" select="count(td)"/> 
    </xsl:for-each> 
</xsl:template> 
관련 문제