Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

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

Posted on 2008-10-17
1
Medium Priority
?
1,191 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

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

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

Browsers only know CSS so your awesome SASS code needs to be translated into normal CSS. Here I'll try to explain what you should aim for in order to take full advantage of SASS.
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
Suggested Courses

971 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