C# Tutorials and offshore development in India
    Tutorials   Resources   Forum   Reviews   Communities   Interview   Jobs   Projects   Training   Your Ad Here    
Silverlight Games | Mentor | Code Converter | Articles | Code Factory | Computer Jokes | Members | Peer Appraisal | IT Companies | Bookmarks | Polls | Revenue Sharing | Lobby | Gift Shop |


Prizes & Awards
My Profile



Active Members
TodayLast 7 Days more...






Resources » Articles » ASP.NET/Web Applications »

Using RSS Feeds with Asp.net


Posted Date: 31 Oct 2008    Resource Type: Articles    Category: ASP.NET/Web Applications
Author: shekharMember Level: Gold    
Rating: 1 out of 5Points: 10





Introduction:
RSS stands for (Really Simple Syndication). Basically RSS feeds are xml files which are provided by many websites so you can view their contents on your own websites rather than browsing their site. Suppose you are a movie lover and you want to get the list of top 5 movies from 10 websites. One way will be to visit all 10 websites and see the top 5 list. This method though is used in general by lot of people but its quite tiring method. It will take you 10-15 minutes to browse all the websites and see the top 5 list of movies. One easy way will be if those movie websites provides RSS feeds to be used by the users. If they provide RSS feeds you can embed them in your page and now you don't have to browse all the websites since the information is available on a single page. Hence, this saves you a time and a lot of browsing.

Most of the Blogs websites provide RSS feeds so you can embed your or someone's else latest entries of blog on your website. In this article we will see how we can embed RSS feeds to our webform using Asp.net.

Making a simple user interface:
The application that we will build in this article will be really simple which extracts the Rss feeds from some website and display it in the datagrid. Below is the image of the User interface.



As you can see the user interface is pretty simple. It consists of a Label control which says "Rss Feeds". It has a datagrid and a button with the text "Display RSS Feeds". Let's now dig into the code behind and see what's happening behind the scenes.




Getting RSS Feeds from the website:
We have set up our interface and now our task is to find a website that provides Rss so we can display it on our webform. Luckily our own www.msdn.microsoft.com provides Rss feeds. This Rss feeds is about the latest news in the Microsoft industry. Here are the steps that you can use to get to the Rss feeds from the msdn website.

1) Go to www.msdn.microsoft.com

2) You will see a "RSS" link at the top as shown in the picture below:



3) Click on this link and you will see an XML File.

4) Just save the url of the Xml file that will be used later.

Displaying RSS feeds on your webform:

Finally, the time comes to code :). Yeah I know it always put a smile on your face right ?

First of all add the using System.Xml namespace at the top. Now in the button click place this code.

// Gets the xml from the Url using XmlTextReader

XmlTextReader reader = new XmlTextReader("http://msdn.microsoft.com/rss.xml");

As you can see that we have used XmlTextReader to extract the Xml out of the url. The XmlTextReader has many overloads but we used the one which takes string url as a parameter. The parameter that we are sending is the url that you previously saved.

Now we got the Xml, next we put the xml into the dataset so we can bind it to the datagrid or else the datagrid will feel lonely :). So the next step is to create a DataSet object.

// creates a new instance of DataSet

DataSet ds = new DataSet();

After creating the DataSet we need to fill the dataset with the Xml. DataSet has a ReadXml method that will allow us to ReadXml.

// Reads the xml into the dataset

ds.ReadXml(reader);

Okay now the dataset, which is ds contains the xml. The final step will be to bind the dataset to the datagrid. Here is the line that binds the dataset to the datagrid.

// Assigns the datset to the datagrid

myDataGrid.DataSource = ds;

// Binds the datagrid

myDataGrid.DataBind();

Okay looks good to me. Lets run the application and see what will happen. When you press the button the xml is extracted from the specified url and will be bind to the datagrid. You will see something like this:



Well, we can see that it did got something from the url and binding is done okay. So what's wrong ? It seems like the data we were expecting is not correct. You can blame Microsoft for not providing us with the correct url but before that lets check our code again and see if we can fix it. The following code in button click event will fix the problem:

// Gets the xml from the Url using XmlTextReader

XmlTextReader reader = new XmlTextReader("http://msdn.microsoft.com/rss.xml");

// creates a new instance of DataSet

DataSet ds = new DataSet();

// Reads the xml into the dataset

ds.ReadXml(reader);

// Assigns the data table to the datagrid

myDataGrid.DataSource = ds.Tables[2];

// Binds the datagrid

myDataGrid.DataBind();



As you see we replaced the line where we were binding dataset to the datagrid. Now we are binding Data Table. When the xml is put in the dataset it is put in layers. So first layer/level of xml nesting is placed in first row , 2nd layer in second row and so on. Each Rss file 3rd tag is the item tag which contains the information. Hence our 3rd tag is at he index '2' since we start from '0'. You can try out different combinations with using different indexes and you will be returned with different types of tables.

Look at the code below in which I am referring to a different table and get the different result.

// Assigns the data table to the datagrid

myDataGrid.DataSource = ds.Tables[4];

// Binds the datagrid

myDataGrid.DataBind();



Conclusion:

As you see embedding Rss feeds on your own page is easy as baking a pie. The good side of using Rss will be that your website will be updated automatically and you won't have to do anything. These days most of the websites are providing Rss feeds that you can use in your web pages.



Responses


No responses found. Be the first to respond and make money from revenue sharing program.

Feedbacks      
Popular Tags   What are tags ?   Search Tags  
Sign In to add tags.
RSS FEEDS  .  

Post Feedback


This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
You must Sign In to post a response.
Next Resource: Application Architecture
Previous Resource: Securing connection strings and making secure authentication method
Return to Discussion Resource Index
Post New Resource
Category: ASP.NET/Web Applications


Post resources and earn money!
 
More Resources



dotNet Slackers

About Us    Contact Us    Privacy Policy    Terms Of Use