2011-01-14 71 views
3

我知道如何讀取txt文件中的一行,但出於某種原因,C#未檢測到HTML文件的行尾。這段代碼基本上打開了html文件,並嘗試逐行解析搜索指定的字符串。即使只是試圖打印HTML文件中的第一行文本,nothign也會顯示。如何使用C#讀取一行HTML#

using (StreamReader sr = new StreamReader("\\\\server\\myFile.html")) 
     { 
      String line; 
      while ((line = sr.ReadLine()) != null) 
      { 
       if(line == ("<td><strong>String I wantstrong></td>")) 
       { 
        Label1.Text = "Text Found"; 
        break; 
       } 
      } 
     } 

我試過這個使用普通的txt文件,它完美的工作,而不是當試圖解析一個HTML文件。

謝謝。

+0

結尾'strong`是結束標記。 – 2011-01-14 01:21:09

回答

0

如果你知道這個HTML,你解析的是XHTML爲什麼不使用System.XML解析這個HTML爲XML?

0

你外環讀取線工作正常進行中。我的猜測是在發生下列情況之一:

  • 的HTML文件是空
  • 在HTML文件的第一行是空

在這兩種情況下,你不會看到任何東西打印。現在

,你的循環:

你可能沒有看到你所期望的,因爲

if(line == ("<td><strong>String I wantstrong></td>")) 
{ 
    Label1.Text = "Text Found"; 
    break; 
} 

尋找一個精確比賽。如果這是您的實際代碼,您在</strong>上丟失了開放的支架</,並且您可能會忘記HTML內容中存在空格(縮進)。