Xpath在第二个tr后选择所有tr

本文关键字:tr 选择 第二个 Xpath | 更新日期: 2023-09-27 18:10:58

我使用HtmlAgilityPack我有一个html表

<TABLE class=default cellSpacing=0 width="95%" border=0 name="LISTA_MOV"><TBODY>
<TR>
<TD class=normal colSpan=5 align=center>ACCOUNT IN&nbsp;EUR: ES1030580147982720000036 - HAZERA ESPAÑA</TD></TR>
<TR>
<TD class=columnas vAlign=top width=80 align=center>Date</TD>
<TD class=columnas vAlign=top width=60 align=center>Value date</TD>
<TD class=columnas vAlign=top align=center>Reference</TD>
<TD class=columnas vAlign=top align=center>Amount</TD>
<TD class=columnas vAlign=top align=center>Balance</TD></TR>
<TR>
<TD class=columnas vAlign=top width=80 align=center><INPUT onclick="sortTable('LISTA_MOV',0,true,'Date');" alt="Ordenar Ascendente" src="/BE/util_apoyo/img/esp/orden_1.gif" type=image border=0 name=Sort>&nbsp;<INPUT onclick="sortTable('LISTA_MOV',0,false,'Date');" alt="Ordenar Descendente" src="/BE/util_apoyo/img/esp/orden_2.gif" type=image border=0 name=Sort_Date_down0></TD>...

当我尝试使用Xpath "//tr//td[1]"

进行date时,(在带有date值的td中)
 GeneralUtils.GetListDataFromHtmlSourse(PageData, "//tr//td[1]");

我有40个值,我不需要的前两个是" nbsp;"answers"Date",现在我只需要修复我的Xpath,它将在第二秒(或在其他情况下更多)后返回所有tr

我如何需要改变Xpath //tr//td[1],它将在第二个tr元素后寻找tr

Xpath在第二个tr后选择所有tr

您可以尝试使用XPath position()过滤器,例如:

//tr[position() > 2]//td[1]

就像DGibbs说的,你可以使用position,

GeneralUtils.GetListDataFromHtmlSourse(PageData, "//tr[position() > 2]//td[1]");

为什么不在XPath中更具体一些呢?比如:

/TABLE[@name='LISTA_MOV']/tr[position() > 1]/td[1]