Solved

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

Posted on 2008-10-17
1
1,176 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
 

Accepted Solution

by:
homeshopper earned 0 total points
ID: 22811775
Please close this question
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Preface This article introduces an authentication and authorization system for a website.  It is understood by the author and the project contributors that there is no such thing as a "one size fits all" system.  That being said, there is a certa…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.
HTML5 has deprecated a few of the older ways of showing media as well as offering up a new way to create games and animations. Audio, video, and canvas are just a few of the adjustments made between XHTML and HTML5. As we learned in our last micr…

758 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

22 Experts available now in Live!

Get 1:1 Help Now