HTML Agility Pack单元合并

时间:2013-11-28 03:24:57

标签: c# html-agility-pack

我正在尝试使用HTML Agility Pack从网站上删除表格。我在提取列数据时遇到问题。每行应有6列。但是,当我读取单元格时,它将所有列数据合并为一个结果。

我得到了这个: 复古Buff Banner665c12425

而不是:

Vintage Buff Banner

665C

1

24

空白

25

我正在使用的代码如下:

    HtmlWeb web = new HtmlWeb();
    HtmlDocument doc = web.Load("http://www.tf2wh.com/backpack?bp=x44rUEmREP-OCT9Kp-9w6n3GOJQJpf43YQD_dp98AvY");

    var xpath = "/html/body/div[@class='page']/div[@class='main']/div[@class='specialtrade']/table[@class='data']/tbody/tr[@class='normal']";

    var rows = doc.DocumentNode.SelectNodes(xpath);
    foreach (HtmlNode row in rows)
    {
        HtmlNodeCollection cells = row.SelectNodes("th|td");
        foreach (HtmlNode cell in cells)
        {
            Console.WriteLine("cell: " + cell.InnerText);
        }
    }

1 个答案:

答案 0 :(得分:1)

我明白了 - 这是糟糕的HTML。我在HTML Agility Pack之前通过Tidy.NET运行它,我得到了我想要的结果。