我想使用Html Agility包根据它与表格中给定行内其他td的相对距离来提取内部html信息。
例如,在下面的代码中,有效的动态命令会将第一个td标记中的数据作为输入,并将第三个td标记中的数据作为输出:
<tbody>
<tr>
<td>Smith</td>
<td>Glasnevin</td>
<td>11</td>
<td>6.0</td>
</tr>
<tr>
<td>Harty</td>
<td>Blackrock</td>
<td>11</td>
<td>6.0</td>
</tr>
<tr>
<td>Power</td>
<td>Salthill</td>
<td>0</td>
<td>5.8</td>
</tr>
</tbody>
所以,如果我给史密斯&#39;作为一个输入,我想得到&#39; 11&#39;作为输出或者如果我给'Power&#39;作为一个输入我得到&#39; 0&#39;作为输出。
答案 0 :(得分:1)
以下是一个例子:
HtmlDocument doc = new HtmlDocument();
//load your HTML to `doc`
var result = doc.DocumentNode
.SelectSingleNode("//tr[td[1]='Power']/td[3]")
.InnerText;
//at this point `result` hold value of 0
XPath表示选择<tr>
节点,其中第一个子节点<td>
等于"Power"
,然后从前面提到的<td>
中获取第三个<tr>
。