2009-10-26 70 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