2009-10-26 74 views
1

是否有一種簡單的方法(使用C#)打開任意URL,讀取文本並將其降低到網頁中顯示的值?我想我可以得到內容,並在該內容上逐字符地逐字符,將任何在<和>(包含)之間的內容撕掉。我簡短地看了一下HTML Agiligy Pack,並且可能是是一個解決方案,但它似乎對我正在嘗試做的事情非常沉重。僅從HTML中獲取顯示文本

再說一次,我想要的是一串文本,表示將在屏幕上顯示任意URL的文本。

回答

2

我還是會選擇的HTML敏捷包 - 它是在開始時多做一些工作,但它更靈活和更好的設計,因爲它將提供更多 - 例如XPath樣式查詢。

0

如果你只需要在HTML的文本表示,這應該做的工作:

using System.Net; 
... 

public string GetSiteStringContents(string url) 
{ 
    StringBuilder sb = new StringBuilder(); 
    byte[] buf = new byte[8192]; 
    HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url); 
    HttpWebResponse response = (HttpWebResponse) request.GetResponse(); 

    Stream resStream = response.GetResponseStream(); 
    string tempString = null; 
    int count = 0; 
    do 
    { 
     count = resStream.Read(buf, 0, buf.Length); 
     if (count != 0) 
     { 
      tempString = Encoding.ASCII.GetString(buf, 0, count); 
      sb.Append(tempString); 
     } 
    } 
    while (count > 0); 

    return sb.ToString(); 
} 
+0

這不剝離HTML ......但謝謝。 – 2009-11-11 01:23:06