HtmlAgilityPack方法,用于从给定列数据的表中的行返回值

时间:2014-09-08 21:15:04

标签: c# html-agility-pack

我想使用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;作为输出。

1 个答案:

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