首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML敏捷包

HTML敏捷包
EN

Stack Overflow用户
提问于 2010-03-11 05:32:04
回答 1查看 6.5K关注 0票数 6

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

但是我对解析和html敏捷性包还不熟悉,我已经尝试过了,但是我不知道如何使用html敏捷性包来满足我的需要。

如果有人知道,如果可能的话给我举个例子

编辑:

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-11 06:14:23

在讨论论坛这里中有这样的一个例子。向下滚动一点,看表的答案。我真希望他们能提供更好的样本,更容易找到。

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

代码语言:javascript
复制
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:如果您不知道列的索引,就可以这样做。我还没测试过这个。

代码语言:javascript
复制
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml("http://somewhere.com");
var tables = doc.DocumentNode.SelectNodes("//table");

foreach(var table in tables)
{
    int addressIndex = -1;
    int phoneIndex = -1;
    var headers = table.SelectNodes("//th");
    for (int headerIndex = 0; headerIndex < headers.Count(); headerIndex++)
    {
        if (headers[headerIndex].InnerText == "address")
        {
            addressIndex = headerIndex;
        }
        else if (headers[headerIndex].InnerText == "phone")
        {
            phoneIndex = headerIndex;
        }
    }

    if (addressIndex != -1 && phoneIndex != -1)
    {
        foreach (var row in table.SelectNodes("//tr"))
        {
            HtmlNode addressNode = row.SelectSingleNode("td[addressIndex]");
            //do something with address here
            HtmlNode phoneNode = row.SelectSingleNode("td[phoneIndex]");
            // do something with phone here
        }
    }
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2422762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档