Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dom 什么XPath从表中选择奇数tr,从第三个开始?_Dom_Xpath_Xhtml - Fatal编程技术网

Dom 什么XPath从表中选择奇数tr,从第三个开始?

Dom 什么XPath从表中选择奇数tr,从第三个开始?,dom,xpath,xhtml,Dom,Xpath,Xhtml,我有一张桌子: <table> <tr><td>1</td></tr> <tr><td>2</td></tr> <tr><td>3</td></tr> <tr><td>4</td></tr> <tr><td>5&

我有一张桌子:

<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>

1.
2.
3.
4.
5.
6.
7.
8.
9
我需要一个XPath来选择奇数行,从第三行开始(3、5、7、9等)。

我认为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>

…做smthng。。。。
…做点别的。。。
"/table/tr[position() mod 2 = 1 and position() > 1]"