我有一个像这样的HTML文件:
<tr>
<td class= 'iconmenu' width="100%">...</td>
</tr>
<tr>
<td class= 'iconmenu' width="100%">...</td>
<td class= 'iconmenu'>...</td>
</tr>
第一个元素有一个孩子,第二个元素有两个孩子,问题是:
如何检查第一个元素是否有一个孩子?
答案 0 :(得分:2)
计算第一个tr
的子元素数:
count(/*/tr[1]/*)
仅计算td
个孩子:
count(/*/tr[1]/td)
执行这样的比较:
<xsl:if test="count(/*/tr[1]/td)=1">
请注意使用绝对路径(以/
开头)。你可能想做count(//tr[1]/td)
。请注意,这将返回所有 tds
的计数,每个行是文档中每个表中的第一行。
答案 1 :(得分:0)
<xsl:for-each select="tr">
<xsl:variable name="count" select="count(td)"/>
</xsl:for-each>
</xsl:template>
答案 2 :(得分:-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)