2012-09-04 90 views
0

我有一個表格的網頁,我想獲得所有的行,但是當我下載它時,我得到一個奇怪的表,有一個<tr>和許多</tr>,所以我可以不解析它。我能做什麼?通過HtmlAgilityPack解析表標記出錯

我的代碼:

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

+1

您能否向我們提供您正在獲取的HTML代碼(或者至少是該頁面)供我們測試? –

+0

我添加了鏈接 –

回答

1

這不順心由於該網頁是不符合相當的HTML,
看看由w3c's validator給出的結果,你會 看到有堆trtd有關閉問題。

我的建議是要麼通過Tidy運行HTML或玩弄HTMLAgilityPack的 解析設置。