【问题标题】:Finding count of nodes where two columns are nbsp查找两列为 nbsp 的节点数
【发布时间】:2020-01-07 16:56:22
【问题描述】:

我有一个表格,我需要检查两个单元格(位置 9 和 16)是否为 nbsp。我已经成功地计算了位置 9 为空白的出现次数,如下所示:

    foreach (HtmlNode results in htmlReport.DocumentNode.SelectNodes("//table[@id='tbl1']"))
    {
        countMissingElement = results.SelectNodes("//tr//td[position() = 9 and . = ' ']").Count;
    }

我尝试了类似于以下语句的各种迭代,但无法使其正常工作。

countMissingElement = results.SelectNodes("//tr//td[(position() = 9 and . = ' ') and (position() = 16 and . = ' ')]").Count;

countMissingElement = results.SelectNodes("//tr//td[(position() = 9 and . = ' ')] and //tr//td[(position() = 16 and . = ' ')]").Count;

有什么想法吗?

【问题讨论】:

    标签: c# xpath html-agility-pack


    【解决方案1】:

    您实际上想要计算行数。因此,您应该选择第 9 个和第 16 个孩子满足您要求的行:

    //tr[td[9]=' ' and td[16]=' ']
    

    【讨论】:

    • td 怎么可能在第 9 和第 16 位?我以为你刚刚说不能同时在 9 点和 16 点
    • 它们是不同的节点。 td[9] 是所选 tr 的第 9 个孩子,td[16] 是所选 tr 的第 16 个孩子。这与测试单个td 是否同时位于916 位置不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多