我正在尝试使用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);
}
}
答案 0 :(得分:1)
我明白了 - 这是糟糕的HTML。我在HTML Agility Pack之前通过Tidy.NET运行它,我得到了我想要的结果。