我想使用html敏捷包解析html表。我想从表中只提取一些预定义的列数据。

但我是解析和html敏捷包的新手,我已经尝试但我不知道如何使用html敏捷包来满足我的需求。

如果有人知道,那么尽可能给我一个例子

编辑:

如果我们只想提取决定的列名数据,是否可以解析html表?就像有4列名称,地址,phno和我想要只提取名称和地址数据。

一般承认的答案

还有就是,在论坛的例子在这里 。向下滚动一下以查看表格答案。我希望他们能提供更容易找到的更好的样品。

编辑:要从特定列中提取数据,您必须首先找到与所需列对应的<th>标记并记住它们的索引。然后,您需要找到相同索引的<td>标记。假设您知道列的索引,您可以执行以下操作:

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("http://somewhere.com");
HtmlNode table = doc.DocumentNode.SelectSingleNode("//table");
foreach (var row in table.SelectNodes("//tr"))
{
    HtmlNode addressNode = row.SelectSingleNode("td[2]");
    //do something with address here
    HtmlNode phoneNode = row.SelectSingleNode("td[5]");
    // do something with phone here
}

Edit2:如果你不知道列的索引,你可以像这样做。我没有测试过这个。

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("http://somewhere.com");
HtmlNode table = doc.DocumentNode.SelectSingleNode("//table");
foreach (var row in table.SelectNodes("//tr"))
{
    HtmlNode addressNode = row.SelectSingleNode("td[2]");
    //do something with address here
    HtmlNode phoneNode = row.SelectSingleNode("td[5]");
    // do something with phone here
}



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