Many times it is asked how to display pull RSS Feeds from a website and display it on the Web Page
Many websites pull RSS feeds from various websites and display on their web pages. In this article I am explaining how to pull RSS feeds from website and display it on your Website using ASP.Net
For this tutorial I am pulling the Community News RSS feeds from asp.net website. You can use the one you want to display by changing the URL
Namespaces
First Import the following Namespaces
C#
using System;
using System.Net;
using System.Xml;
using System.Data;
VB.Net
Imports System
Imports System.Net
Imports System.Xml
Imports System.Data
GetRSS Function
The GetRSS function is responsible to pull the RSS feed and display it on the web page. The whole idea is to create a Web Request and Web Proxy to the website from where the RSS needs to be pulled. The received Web Response is then read using the XmlTextReader and finally the contents of the XmlTextReader into the DataSet using the ReadXml property.
Refer the code below
C#
private void GetRSS()
{
//Create a WebRequest
WebRequest rssReq =
WebRequest.Create("http://www.asp.net/news/rss.ashx");
//Create a Proxy
WebProxy px = new WebProxy("http://www.asp.net/news/rss.ashx", true);
//Assign the proxy to the WebRequest
rssReq.Proxy = px;
//Set the timeout in Seconds for the WebRequest
rssReq.Timeout = 5000;
try
{
//Get the WebResponse
WebResponse rep = rssReq.GetResponse();
//Read the Response in a XMLTextReader
XmlTextReader xtr = new XmlTextReader(rep.GetResponseStream());
//Create a new DataSet
DataSet ds = new DataSet();
//Read the Response into the DataSet
ds.ReadXml(xtr);
//Bind the Results to the Repeater
rssRepeater.DataSource = ds.Tables[2];
rssRepeater.DataBind();
}
catch(Exception ex)
{
throw ex;
}
}
VB.Net
Private Sub GetRSS()
'Create a WebRequest
Dim rssReq As WebRequest =
WebRequest.Create("http://www.asp.net/news/rss.ashx")
'Create a Proxy
Dim px As New WebProxy("http://www.asp.net/news/rss.ashx", True)
'Assign the proxy to the WebRequest
rssReq.Proxy = px
'Set the timeout in Seconds for the WebRequest
rssReq.Timeout = 5000
Try
'Get the WebResponse
Dim rep As WebResponse = rssReq.GetResponse()
'Read the Response in a XMLTextReader
Dim xtr As New XmlTextReader(rep.GetResponseStream())
'Create a new DataSet
Dim ds As New DataSet()
'Read the Response into the DataSet
ds.ReadXml(xtr)
'Bind the Results to the Repeater
rssRepeater.DataSource = ds.Tables(2)
rssRepeater.DataBind()
Catch ex As Exception
Throw ex
End Try
End Sub
Display the retrieved RSS Feeds
To display the data I am using ASP.Net Repeater Control Refer below
<asp:Repeater ID = "rssRepeater" runat = "server">
<ItemTemplate>
<table style="border:solid 1px black;width:500px;font-family:Arial">
<tr>
<td style=" font-weight:bold">
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl = '<%#Eval("link")%>'
Text = '<%#Eval("title")%>'></asp:HyperLink>
</td>
</tr>
<tr>
<td><hr /></td>
</tr>
<tr>
<td style="background-color:#C2D69B">
<asp:Label ID="Label1" runat="server"
Text='<%#Eval("description")%>'></asp:Label>
</td>
</tr>
</table>
<br />
</ItemTemplate>
</asp:Repeater>
The figure below displays how the output is displayed on the page

The source code is available to download in C# and VB.Net
DispalyRSSFeeds.zip (4.35 kb)