我有一个HTML文件中像这样:的XPath检查是否节点还没有具体的儿童
<tr>
<td class= 'iconmenu' width="100%">...</td>
</tr>
<tr>
<td class= 'iconmenu' width="100%">...</td>
<td class= 'iconmenu'>...</td>
</tr>
的第一个元素有一个孩子和第二个有两个孩子,问题是:
哪有我检查第一个元素是否有一个孩子?
我有一个HTML文件中像这样:的XPath检查是否节点还没有具体的儿童
<tr>
<td class= 'iconmenu' width="100%">...</td>
</tr>
<tr>
<td class= 'iconmenu' width="100%">...</td>
<td class= 'iconmenu'>...</td>
</tr>
的第一个元素有一个孩子和第二个有两个孩子,问题是:
哪有我检查第一个元素是否有一个孩子?
计数第一tr
的子元素的数量:
count(/*/tr[1]/*)
只计算td
孩子:
count(/*/tr[1]/td)
执行这样的比较:
<xsl:if test="count(/*/tr[1]/td)=1">
的使用注意事项的绝对路径(从开始)。你可能会喜欢做count(//tr[1]/td)
。请注意,这将返回全部tds
的整数每行,这是文档中每个表的第一行。
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)
<xsl:for-each select="tr">
<xsl:variable name="count" select="count(td)"/>
</xsl:for-each>
</xsl:template>