我有一张桌子:
<table>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
<tr><td>6</td></tr>
<tr><td>7</td></tr>
<tr><td>8</td></tr>
<tr><td>9</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我需要一个XPath来选择奇数行,从第三行开始(3,5,7,9等).
lav*_*nio 16
"/table/tr[position() mod 2 = 1 and position() > 1]"
Run Code Online (Sandbox Code Playgroud)
我认为XPATH的'position()'函数可以完成这项工作。返回当前正在处理的节点的索引位置。您需要执行position()mod 2。
这是XSLT解决方案
<xsl:for-each select="tr">
<xsl:choose>
<xsl:when test="position() mod 2 = 1 and position() > 1">
...do smthng ....
</xsl:when>
<xsl:otherwise>...do something else...</xsl:otherwise>
</xsl:choose>
</xsl:foreach>
Run Code Online (Sandbox Code Playgroud)