Solved

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

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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Styling your websites can become very complex. Here I'll show how SASS can help you better organize, maintain and reuse your CSS code.
SASS allows you to treat your CSS code in a more OOP way. Let's have a look on how you can structure your code in order for it to be easily maintained and reused.
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

828 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