Как найти счетчик TD, который является нулевым? - PullRequest
1 голос
/ 08 мая 2019

Я пытаюсь очистить отчет, который может содержать много строк.Мне нужно сосчитать два разных аспекта в таблице.Во-первых, подсчет, где присутствует href с определенным названием.Во-вторых, число случаев, когда TD [9] равно нулю.Я полагаю, что я выяснил первую часть, но, кажется, не могу получить второй счет.

У конкретной таблицы в этом отчете есть идентификатор 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;

Я уверен, что здесь упущено что-то простое.Есть какие-нибудь подсказки?

...