2009-12-17 96 views
0

有人可以幫我修復我的代碼。我看不到我要去哪裏錯了。它只是沒有做它應該做的。WebBrowser控件 - Document.Body.InnerText問題

它應該逐行讀取一個文件(每行包含1個url),然後在字符串中創建url,它將訪問該url並提取標題,url和正文文本,然後將其保存到文件中,但是它只是沒有做任何事情。我得到的唯一錯誤是: 「對象引用不設置到對象的實例」,它指向下面的代碼行:

u = w.Document.Body.InnerText; 

下面是完整的代碼:

OpenFileDialog of = 
     new OpenFileDialog(); 
    of.Title = 
     "app name - Select File"; 
    using (of) 
    { 
     try 
     { 
      Cursor = Cursors.WaitCursor; 
      if (of.ShowDialog() == DialogResult.OK) 
      { 
       string[] file = 
        File.ReadAllLines(
        of.FileName); 


       foreach (string line in file) 
       { 
        w.Navigate(line); 
        string t, 
         d, 
         u, 
         path = 
         @"file.txt"; 

         t = 
          w.DocumentTitle; 
         u = 
          w.Document.Body.InnerText; 
         d = 
          w.Url.AbsolutePath; 
         t = 
          t.Substring(0, 
          250); 
         t = 
          t.Replace(
          "\"", 
          "\\\""); 

         a.Text += "\n" + 
          u; 

         File.AppendAllText(path, 
          "s[" + 
          an + 
          "] = \"" + 
          t + 
          "^" + 
          u + 
          "^" + 
          url1 + 
          u + 
          url2 + 
          d + 
          "\";" + 
          Environment.NewLine); 
         an++; 
       } 
      } 
      Cursor = Cursors.Default; 
     } 
     catch (Exception exception) 
     { 
      MessageBox.Show(exception.Message); 
     } 
    } 

我倒是欣賞到有任何建議/幫助,謝謝:)

jase

回答

1

WebBrowser.Navigate是,IIRC,異步。在這裏使用WebClient.DownloadString可能更好?或HTML敏捷包/ Load

+0

謝謝。將再次嘗試HTML敏捷性。你知道任何關於html敏捷包的文檔嗎?因爲其中一個拉鍊附帶的幫助文件完全不起作用 – 2009-12-17 23:54:51