[ASP.Net]另一個製作RSS閱讀器的方法,用XmlDocument讀取RSS,解決feedburner404問題

  • 4356
  • 0
  • 2008-10-13

[ASP.Net]另一個製作RSS閱讀器的方法,用XmlDocument讀取RSS,解決feedburner404問題


HI!我是finalevil,這是我的分站,

歡迎您訂閱我的RSS ,或是前往本站發表意見。

 

更詳細的內容請參考

[ASP.Net]另一個製作RSS閱讀器的方法,用XmlDocument讀取RSS,解決feedburner404問題



由於一些問題,導致RssToolkit無法滿足我全部的需求,雖然它使用方便,但是缺點就是當出現問題的時候,你要trace別人的code,找適當的地方修改,這真的很煩人。所以我選擇用另一種方式讀取並解析RSS資料源。

(1)取得RSS資料

首先,建立一個GetRss function,這個函式會回傳一個包含RSS資料的XmlDocument物件


{
    String userAgent = @"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
    HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(rsslink);
    httpRequest.UserAgent = userAgent;

    HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load(httpResponse.GetResponseStream());
    httpResponse.Close();

    return xmlDoc;
}

這個函式透過HttpWebRequest類別對指定的Url發出request,取得Server傳回的response後,存入HttpWebResponse類別的物件中。接著透過HttpWebResponse類別的GetResponseStream方法取得XML資料讓XmlDocument可以載入這些資料。

在這裡要注意關於UserAgent的部份,UserAgent是一種用來辨識瀏覽器的一段識別字串有些RSS來源,像是feedburner有時候會出現404-Not Found的問題,這個時候可能就是UserAgent的問題了,可能是有些RSS被限制只能用某些瀏覽器讀取,像是Firefox或IE。所以在發出讀取RSS的要求時,要記得把你的request偽裝一下,假裝成Firefox或是IE的UserAgent字串。也就是像這樣的字串。

  
(2)解析RSS的XML結構

成功取得Xml資料以後...

 

更詳細的內容請參考

[ASP.Net]另一個製作RSS閱讀器的方法,用XmlDocument讀取RSS,解決feedburner404問題


 

HI!我是finalevil,這是我的分站,

歡迎您訂閱我的RSS ,或是前往本站發表意見。