[ASP.Net]另一個製作RSS閱讀器的方法,用XmlDocument讀取RSS,解決feedburner404問題
更詳細的內容請參考
[ASP.Net]另一個製作RSS閱讀器的方法,用XmlDocument讀取RSS,解決feedburner404問題
由於一些問題,導致RssToolkit無法滿足我全部的需求,雖然它使用方便,但是缺點就是當出現問題的時候,你要trace別人的code,找適當的地方修改,這真的很煩人。所以我選擇用另一種方式讀取並解析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問題
