0

我有一个带有表格的网页,我想获取所有行,但是当我下载它时,我得到一个奇怪的表格,其中有一个<tr>和多个</tr>,所以我无法解析它。我能做些什么?

我的代码:

  WebBrowser wb = new WebBrowser();
  wb.ScrollBarsEnabled = false;
  wb.ScriptErrorsSuppressed = true;
  wb.Navigate(link);
  while (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); }
  string htmlDoc = wb.DocumentText;

  doc.LoadHtml(htmlDoc);

  nodesHtml = doc.DocumentNode.SelectNodes("//tr");

但是为了得到所有行nodesHtml,我只得到一行。奇怪的是,在像 FF 这样的真实浏览器中,html 标签看起来不错,但是在下载页面时 - html 出错了。

这是链接:http ://www.lre.com/test/searchresultx.asp?id=19

4

1 回答 1

1

由于页面的 HTML 非常不兼容,这会出错,
看看w3c 的验证器tr给出的结果, 你会发现有很多td关闭问题。

我的建议是要么通过Tidy运行 HTML,要么使用 HTMLAgilityPack 的解析设置。

于 2013-03-14T02:46:10.393 回答