HTML敏捷包C#-为一行(而不是整个表)选择单元格
本文关键字:单元格 选择 一行 C#- HTML | 更新日期: 2023-09-27 18:28:40
我在控制台应用程序中使用HTML敏捷包来解析某个网页。
我设法找到了要查找的表,然后选择了所有行。到目前为止,一切都很顺利。
我的代码如下:
var rows = table.SelectNodes("//tr");
foreach(var row in rows)
{
var cells = row.SelectNodes("//td");
Console.WriteLine(cells.Count);
foreach(var cell in cells) {
// Do something
}
}
在每一行中,我应该有4个单元格,而我得到697(整个表中的单元格数)。我尝试使用/td .//td
,但只会得到一个错误。有什么提示我做错了什么吗?
您的第二个选择//td
递归选择(两个/
)并从顶部(表达式以/
开始)。你想要的更多的是这样的东西:
var cells = row.SelectNodes(".//td");
这意味着从当前上下文/节点(.
)中递归选择。
有关XPATH表达式的详细信息,请参阅此处的XPATH语法。