Solved

ASP.net , C# & VB Bind a Yahoo RSS Feed to a Gridview

Posted on 2008-10-17
1
586 Views
Last Modified: 2013-12-17
Hi,
I am trying to get code to read from RSS Feed to a GridView in ASP.Net VB & C#
I looked at the following:
http://www.experts-exchange.com/Programming/Languages/C_Sharp/Q_23438677.html
I have made some alterations to the existing, but am still getting errors.
I have the c# code in App_Code folder CSCode
VB code in App_Code folder VBCode
and referenced the folders in Web.config as follows:
<codeSubDirectories><add directoryName="VBCode"/><add directoryName="CSCode"/>

C# Code First:

using System;

using System.Data;

using System.Data.SqlClient;

using System.Web.Configuration;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

 

public partial class rssCS : System.Web.UI.Page

{

 

    protected void Page_Load(object sender, EventArgs e)

    {

        GridView.DataSource = GetDataSet().Tables[3];

        GridView.DataBind();

    }

    private DataSet GetDataSet()

        

    {

        DataSet ds = new DataSet("rsRSS");

        ds.ReadXml("http://rss.news.yahoo.com/rss/mostviewed");

        GridView.DataMember = "item";

        GridView.DataSource = ds;

        //GridView1.DataBind();

        return ds;

    }

 

 

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

    {

        GridViewRow row = e.Row;

        DateTime CurrTime = DateTime.Now.Date;

 

        if (row.RowIndex >= 0) // Start looping on the first row

            if (row.RowType == DataControlRowType.DataRow)

            {

                row.Cells[0].Text = row.Cells[0].Text;

                row.Cells[1].Text = row.Cells[1].Text;

            }

 

        }

 

 

}

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="~/App_Code/CSCode/FeedRss.aspx.cs" Inherits="rssCS" %>

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.SqlClient" %>

<%@ Import Namespace="System.Web.Configuration" %>

<%@ Import Namespace="System.Collections" %>

<%@ Import Namespace="System.Collections.Generic" %>

<%@ Import Namespace="System.Linq" %>

<%@ Import Namespace="System.Web" %>

<%@ Import Namespace="System.Web.UI" %>

<%@ Import Namespace="System.Web.UI.WebControls" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>FeedRss</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

    <asp:GridView

        id="GridView"

        DataSourceId="srcMovies"

        Runat="server" />

        <ItemTemplate>

        <asp:HyperLink ID="HyperLink1" NavigateUrl=<%#DataBinder.Eval(Container.DataItem,"link") %> 

        runat="server">

        <%#DataBinder.Eval(Container.DataItem,"title") %>

        </asp:HyperLink>

        </ItemTemplate>

        </asp:GridView>

<!--

     See TextFile.txt

-->

    <asp:SqlDataSource

        id="srcMovies"

        ConnectionString="Data Source=.\SQLExpress;

            AttachDbFilename=|DataDirectory|MyDatabase.mdf;

            Integrated Security=True;User Instance=True"

        SelectCommand="SELECT * FROM Movies"

        Runat="server" />

    </div>

    </form>

</body>

</html>

VB CODE:

Imports System

Imports System.Data

Imports System.Data.SqlClient

Imports System.Web.Configuration

Imports System.Collections

Imports System.Collections.Generic

Imports System.Linq

Imports System.Web

Imports System.Web.UI

Imports System.Web.UI.WebControls

Imports System.Xml

 

Namespace AspNetUnleased.Samples

    Public Class rssVB

        Public Sub New()

 

            Dim myXMLDOC As New XmlDocument()

            myXMLDOC.Load("http://www.builderau.com.au/feeds/features.htm")

 

            Dim xmlNode As System.Xml.XmlNode

            Dim xmllist As XmlNodeList

            xmllist = myXMLDOC.SelectNodes("rss/channel/item")

            For Each xmlNode In xmllist

                Dim titlenode As XmlNode

                Dim linknode As XmlNode

                titlenode = xmlNode.SelectSingleNode("title")

                linknode = xmlNode.SelectSingleNode("link")

                Dim myhyperlink As New HyperLink

                myhyperlink.NavigateUrl = linknode.InnerText

                myhyperlink.Text = titlenode.InnerText & "<br/><br/>"

                myhyperlink.Attributes.Add("style", "color:#336699;font-size:12px;font-family:Arial;a:hover{color:red;background-color:yellow}")

                Dim placeholder1

                placeholder1.Controls.Add(myhyperlink)

            Next

        End Sub

 

    End Class

End Namespace

<%@ Page Language="VB" AutoEventWireup="true" CodeFile="~/App_Code/VBCode/FeedRss.aspx.vb" Inherits="rssVB" %>

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.SqlClient" %>

<%@ Import Namespace="System.Web.Configuration" %>

<%@ Import Namespace="System.Collections" %>

<%@ Import Namespace="System.Collections.Generic" %>

<%@ Import Namespace="System.Linq" %>

<%@ Import Namespace="System.Web" %>

<%@ Import Namespace="System.Web.UI" %>

<%@ Import Namespace="System.Web.UI.WebControls" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>FeedRss</title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

    <asp:GridView

        id="GridView"

        DataSourceId="srcMovies"

        Runat="server" />

        <ItemTemplate>

        <asp:HyperLink ID="HyperLink1" NavigateUrl=<%#DataBinder.Eval(Container.DataItem,"link") %> 

        runat="server">

        <%#DataBinder.Eval(Container.DataItem,"title") %>

        </asp:HyperLink>

        </ItemTemplate>

        </asp:GridView>

<!--

     See TextFile.txt

-->

 

    <asp:SqlDataSource

        id="srcMovies"

        ConnectionString="Data Source=.\SQLExpress;

            AttachDbFilename=|DataDirectory|MyDatabase.mdf;

            Integrated Security=True;User Instance=True"

        SelectCommand="SELECT * FROM Movies"

        Runat="server" />

    </div>

    </form>

</body>

</html>

Open in new window

0
Comment
Question by:homeshopper
1 Comment
 
LVL 13

Accepted Solution

by:
jeebukarthikeyan earned 500 total points
ID: 22775680
hi ,

follow this  link
http://www.codeproject.com/KB/webforms/GridView_RSS.aspx

b u d d h a
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

User art_snob (http://www.experts-exchange.com/M_6114203.html) encountered strange behavior of Android Web browser on his Mobile Web site. It took a while to find the true cause. It happens so, that the Android Web browser (at least up to OS ver. 2.…
Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Migrating to Microsoft Office 365 is becoming increasingly popular for organizations both large and small. If you have made the leap to Microsoft’s cloud platform, you know that you will need to create a corporate email signature for your Office 365…

863 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

25 Experts available now in Live!

Get 1:1 Help Now