Friday, May 9, 2008

Create Rss using Generic handler

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

using System;
using System.Text;
using System.Xml;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Configuration;
public class FeedRss : IHttpHandler {
public void ProcessRequest (HttpContext context) {
//context.Response.ContentType = "text/plain";
context.Response.Clear();
context.Response.ContentType = "text/xml";
XmlTextWriter rssfeed = new XmlTextWriter(context.Response.OutputStream,Encoding.UTF8);
rssfeed.WriteStartDocument();
// The mandatory rss tag
rssfeed.WriteStartElement("rss");
rssfeed.WriteAttributeString("version", "2.0");
// The channel tag contains RSS feed details
rssfeed.WriteStartElement("channel");
rssfeed.WriteElementString("title", "ljkfhjlkfhd News");
rssfeed.WriteElementString("link", "http:/hch.cjdjn");
rssfeed.WriteElementString("description", "The latest news from all over the world.");
rssfeed.WriteElementString("copyright", "dfgfdgfg All rights reserved.-Created by Suresh");
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Connect"].ToString());
SqlCommand cmd = new SqlCommand("select * from news", con);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{

rssfeed.WriteStartElement("item");
rssfeed.WriteElementString("title", sdr["Title"].ToString());
rssfeed.WriteElementString("description", sdr["Description"].ToString());
rssfeed.WriteElementString("link", "http://localhost:4329/searchengine/View.aspx?View=" + sdr["articleid"]);
rssfeed.WriteElementString("category", sdr["category"].ToString());
rssfeed.WriteElementString("pubDate", sdr["pubdate"].ToString());
rssfeed.WriteElementString("ttl", sdr["ttl"].ToString());
rssfeed.WriteEndElement();
}
sdr.Close();
con.Close();
rssfeed.WriteEndElement();
rssfeed.WriteEndElement();
rssfeed.WriteEndDocument();
rssfeed.Flush();
rssfeed.Close();
context.Response.End();
}
public bool IsReusable {
get {
return false;
}
}
}

No comments :

Post a Comment

AJAX, asp, Asp.net, asp.net and sql server security, Asp.net IntemIndex, C#, Css, DataBinder.Eval, DataKeyNames, Datalist, Datapager, DataSet, DataTable, DropDownList, FindControl, gridview, JavaScript, jquery, Listview, Paging, Regex, RegularExpression, Repeater, Server side validation, Sql Server, timer, timercallback, Validation, XML, xmlnode, XPath