Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

A Simple Example of RSS Feed Reader

0.00/5 (No votes)
1 Aug 2009 1  
This article will demonstrate how to read RSS feeds

Introduction 

Nowadays, RSS is a great features of web / windows platform as well. What is RSS?

RSS (Rich Site Summary) is a format for delivering regularly changing web content. Many news-related sites, weblogs and other online publishers syndicate their content as an RSS Feed to whoever wants it.

It allows you to easily stay informed by retrieving the latest content from the sites you are interested in. In this article, I would like to demonstrate how we can read RSS feeds.

Background 

For seeking information, traditionally we visit various sites individually which is time consuming & also very dull. Use of RSS will save your time by not needing to visit each site individually. It also ensures privacy, by not needing to join each site's email newsletter.

The number of sites offering RSS feeds is growing rapidly and includes big names like Yahoo News.

Using the Code  

Using the code is pretty simply; let’s take a simple example to implement this. Our requirement will be reading an RSS feed and displaying it into datagrid view control. We are using a very common & popular RSS feed (http://www.cricinfo.com/rss/livescores.xml) of a wonderful sports news site cricinfo.com.

Here we need a simple basic concept on Dataset class, which will be found at System.data namespace.

More details can be found at this link.

Imports System
Imports System.Data.DataSet
Imports System.IO
Imports System.Web
Imports System.Xml
Imports System.Net

Public Class rssFeed
    Public objDataset As DataSet = New DataSet
    ' Button event 
    Private Sub ButtonClose_Click(ByVal sender As System.Object, _
	ByVal e As System.EventArgs) Handles ButtonClose.Click
        Application.Exit()
    End Sub

    Private Sub ButtonGet_Click(ByVal sender As System.Object, _
	ByVal e As System.EventArgs) Handles ButtonGet.Click
        Try
            If Me.TextBoxWebAddress.Text.Trim <> vbNullString Then
                Me.dgViewPreview.DataSource = Nothing
                objDataset.ReadXml(Me.TextBoxWebAddress.Text.Trim, _
                                   XmlReadMode.Auto)
                dgViewPreview.DataSource = objDataset.Tables(2)
                Me.WebBrowser1.Navigate(Me.TextBoxWebAddress.Text.Trim)
                Me.WebBrowser1.Refresh()

            End If
        Catch ex As Exception
            objDataset = Nothing
            MessageBox.Show(ex.Message.ToString)
        End Try
    End Sub

    Private Sub LinkLabelAuthor_LinkClicked(ByVal sender As System.Object, _
	ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) _
	Handles LinkLabelAuthor.LinkClicked
        Try
            Me.WebBrowser1.Navigate("http://www.codeproject.com/Members/Md-Marufuzzaman")
            Me.WebBrowser1.Refresh()
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString)
        End Try

    End Sub
    
    Private Sub dgViewPreview_MouseClick(ByVal sender As System.Object, _
	ByVal e As System.Windows.Forms.MouseEventArgs) _
	Handles dgViewPreview.MouseClick
        Dim intRow As Integer = 0
        Dim intItems As Integer = 0
        Dim strText As String = vbNullString

        Try
            intRow = CInt(Me.dgViewPreview.CurrentCell.RowNumber)
            intItems = CInt(Me.dgViewPreview.CurrentCell.ColumnNumber)
            strText = objDataset.Tables(2).Rows(intRow).Item(intItems)
            MessageBox.Show(strText, _
                            "Selected text", _
                            MessageBoxButtons.OK, _
                            MessageBoxIcon.Information, _
                            MessageBoxDefaultButton.Button1, _
                            MessageBoxOptions.DefaultDesktopOnly)
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString)
        End Try

    End Sub
End Class       

Conclusion

I hope you like this article. Enjoy!

History

  • 1st August, 2009: Initial post

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here