Solved

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

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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Preface This is the third article about the EE Collaborative Login Project. A Better Website Login System (http://www.experts-exchange.com/A_2902.html) introduces the Login System and shows how to implement a login page. The EE Collaborative Logi…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
The viewer will receive an overview of the basics of CSS showing inline styles. In the head tags set up your style tags: (CODE) Reference the nav tag and set your properties.: (CODE) Set the reference for the UL element and styles for it to ensu…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

920 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

15 Experts available now in Live!

Get 1:1 Help Now