如何找到为空的TD计数?

时间:2019-05-08 13:27:13

标签: c# html-agility-pack

我正在尝试抓取可能包含许多行的报告。我需要在表中计算两个不同方面。首先,显示带有特定标题的href的计数。第二,TD [9]为空的出现次数。我相信我已经弄清楚了第一部分,但是似乎无法获得第二点。

此报告上的特定表的ID为tbl1。表格行大致采用以下格式:

<tr>
    <td>
        <table>
            <tr>
                <td><a href="URL1" title="Title1" ></a></td>
                <td><a href="URL2" title="Title2" ></a></td>
            </tr>
        </table>
    </td>
    <td>text</td>
    <td>text</td>
    <td>text</td>
    <td><a href="URL3" title="Title3">text</a></td>
    <td>text</td>
    <td>text</td>
    <td>text</td>
    <td>text</td>
    <td>text</td>
    <td>text</td>
    <td>text</td>
    <td>text</td>
    <td>text</td>
    <td>text</td>
</tr>

在C#中,我使用HtmlAgilityPack提取标题Title3的计数。这似乎工作正常。

foreach (HtmlNode results in htmlReport.DocumentNode.SelectNodes("//table[@id='tbl1']"))
{
    var countFirst = results.SelectNodes("//tr//td//a[not(@class) and @title='Title3']").Count;
}

在同一张表中,我想计算每行TD [9]为空的出现次数。我已经尝试了以下操作,但是这导致了未处理的异常:表达式必须计算为节点集。

   var countSecond = results.SelectNodes("//tr//td[9] == null").Count;

我确定这里缺少一些简单的东西。有任何线索吗?

0 个答案:

没有答案