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

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>

因此,如果我将'Smith'作为输入,我想将'11'作为输出,或者如果我将'Power'作为输入,我将得到'0'作为输出。

一般承认的答案

这是一个例子:

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" ,然后从前面提到的<tr>获得第三个<td> <tr>



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因