-->

Monday, December 28, 2015

ASP.NET Rss Feeds Create Database Table

ASP.NET Rss Feeds Create Database Table

In this Article, I will show you, How to create Rss feeds for your website article. Rss feed is a xml file so in this article, i will create a XML file and Data pick from database table. Rss contains differenet filds link channel , article title, article description, link of the article and many more things. By using Rss feeds we can improve our search engine results , i mean to say we can improve our SEO of the website. 

How to Start it: First of all create two table in the database, These are the fields which are mentioned below. If you are the beginners then i will provide you a short video through this you can create both table easily. 



Also i will provide you scripts of table, through these you can directly create table into your database.

CREATE TABLE [dbo].[Channel] (
    [Id]          INT            IDENTITY (1, 1) NOT NULL,
    [Title]       NVARCHAR (100) NULL,
    [Description] NVARCHAR (MAX) NULL,
    [Link]        NVARCHAR (100) NULL,
    PRIMARY KEY CLUSTERED ([Id] ASC)
);


CREATE TABLE [dbo].[Feeds] (
    [Id]          UNIQUEIDENTIFIER NOT NULL,
    [ChannelID]   INT              IDENTITY (1, 1) NOT NULL,
    [Title]       NVARCHAR (100)   NULL,
    [Description] NVARCHAR (MAX)   NULL,
    [Link]        NVARCHAR (100)   NULL,
    [PDate]       NVARCHAR (100)   NULL,
    PRIMARY KEY CLUSTERED ([ChannelID] ASC)
);




Add a Generic handler file, In it you have a ProcessRequest method. In This method you have to create your logic , I mean to say put your business logic code. You can copy the mentioned code and paste into your Generic Handler file.

<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;
using System.Xml;
using System.Data;
using System.Data.SqlClient;

public class Handler : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        createFeed(context, 1);
    }
    private void createFeed(HttpContext context,int chnlID)
    {
        using (XmlTextWriter writer=new XmlTextWriter(context.Response.OutputStream,System.Text.Encoding.UTF8))
        {
            DataTable dtable = GetTable("select * from [Channel] where Id=@channelID", chnlID);
            writer.WriteStartDocument();
            writer.WriteStartElement("Rss");
            writer.WriteAttributeString("version", "1.0");
            writer.WriteStartElement("Channel");
            writer.WriteElementString("Title", dtable.Rows[0]["Title"].ToString());
            writer.WriteElementString("Description", dtable.Rows[0]["Description"].ToString());
            writer.WriteElementString("Link", dtable.Rows[0]["Link"].ToString());
            //writer.WriteElementString("Title", dtable.Rows[0]["Title"].ToString());


            dtable = GetTable("select * from [Feeds] where ChannelID= @channelID", chnlID);
            foreach (DataRow item in dtable.Rows)
            {
                writer.WriteStartElement("Item");
                writer.WriteElementString("Title", item["Title"].ToString());
                writer.WriteElementString("Description", item["Description"].ToString());
                writer.WriteElementString("Link", item["Link"].ToString());
                writer.WriteElementString("Pub-Date", item["PDate"].ToString());
                writer.WriteElementString("UniqueId",item["Id"].ToString());
                writer.WriteEndElement();
            }
            writer.WriteEndElement();
            writer.WriteEndDocument();
            writer.Flush();
            writer.Close();
         
         
         
        }
    }
    private DataTable GetTable(string qry,int chnlID)
    {
        DataTable dt=new DataTable();
        SqlConnection con = new SqlConnection();
        con.ConnectionString=@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True";
        con.Open();
        SqlCommand cmd = new SqlCommand(qry, con);
        cmd.Parameters.AddWithValue("@channelID", chnlID);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(dt);
        return dt;        
     
     
    }

    public bool IsReusable {
        get {
            return false;
        }
    }

}

Read other related articles

Also read other articles

© Copyright 2013 Computer Programming | All Right Reserved