使用HtmlAgilityPack计算具有子表的Html表中的行和列

html-agility-pack html-table vb.net

我正在解析一个Html表,我需要列和行计数。

我尝试使用:

ColNum = mTables(1).SelectNodes(".//th").Count
RowNum = mTables(1).SelectNodes(".//tr").Count

但是如果table有一个或多个子表,我会得到错误的结果。

这是我需要解析的html表的示例:

ColNum = mTables(1).SelectNodes(".//th").Count
RowNum = mTables(1).SelectNodes(".//tr").Count

在此示例中,我需要以下结果:Columns = 3 Rows = 5

如何在不计算子表行和列的情况下获取行和列的数量(仅适用于主表)?

热门答案

我这样解决了:

对于列

ColNum = mTables(1).SelectSingleNode(".//tbody//tr[1]").SelectNodes(".//th").Count

对于行

第一 :检查SubTables

ColNum = mTables(1).SelectSingleNode(".//tbody//tr[1]").SelectNodes(".//th").Count

然后 :计算子表中的行数并从总行中减去

ColNum = mTables(1).SelectSingleNode(".//tbody//tr[1]").SelectNodes(".//th").Count



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