如何在Java中以相同路径获取元素数?即:
<html>
<head>
<title>Title is here</title>
</head>
<body>
<div id="div1">
<table id="table1">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>11</td>
<td>22</td>
<td>33</td>
</tr>
</table>
<table id="table2">
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
</tr>
<tr>
<td>1111</td>
<td>2222</td>
<td>3333</td>
</tr>
</table>
</div>
<div id="div2">
<table id="table3">
<tr>
<td>11111</td>
</tr>
</table>
</div>
</body>
</html>
在这个html中,
/html/head/title
- &gt;返回"Title is here"
/html/body/div[1]/table[1]/tr[2]/td[3]
- &gt;返回33
/html/body/div[2]/table/tr/td
- &gt;返回11111
但是在任何tr中都有n td,或者在任何表中都有m tr,或者文档中有很多表等等。
是否有任何表达式给我元素计数如count(“/ html / body / div [1] / table [1] / tr [2]”)并且它将返回3?如果没有任何方法,我可以用Java编写自己的帮助方法吗?
答案 0 :(得分:1)
此XSLT:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:message>All of the td's: <xsl:value-of select="count(//td)"/> </xsl:message>
<xsl:message>All of the td's in table1: <xsl:value-of select="count(//table[@id='table1']//td)"/></xsl:message>
</xsl:template>
</xsl:stylesheet>
生成此输出:
[xslt]所有td:13
[xslt] table1:6中的所有td