终于做完本站的RSS功能了
2008-11-24 23:31
246 查看
这两天一边从网上找资料,自己再测试,终于完成本站的RSS功能了!先自我恭喜下!!
可能还有很多未完善,但终归可以使用了,以后再慢慢改进!!
本站的RSS地址:http://www.52bcnet.com/rss.aspx
本站的首页:http://www.52bcnet.com
以下是我RSS界面的后台代码,给需要的朋友提供下我的经验:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data;
using System.Data.SqlClient;
using System.Xml;
using System.IO;
using System.Web.Configuration;
public partial class rss : System.Web.UI.Page
{
string HostUrl;
string HttpHead;
protected void Page_Load(object sender, EventArgs e)
{
HttpContext context = HttpContext.Current;
HostUrl = context.Request.Url.ToString();
HostUrl = HostUrl.Substring(0, HostUrl.IndexOf("/", 8));
XmlTextWriter writer = new XmlTextWriter(context.Response.OutputStream, System.Text.Encoding.UTF8);
WriteRSSPrologue(writer);
WriteRSSHeadChennel(writer);
string sql = "select top 10 title,id,time,content from blog_title order by time desc";
SqlDataReader dr = dbconn.ExecuteReader(sql);
while (dr.Read())
{
AddRSSItem(writer, (((DateTime)dr["time"]).ToUniversalTime()).ToString("r"), dr["title"].ToString(), HostUrl, dr["content"].ToString());
}
dr.Close();
writer.Flush();
writer.Close();
context.Response.ContentEncoding = System.Text.Encoding.UTF8;
context.Response.ContentType = "text/xml";
context.Response.Cache.SetCacheability(HttpCacheability.Public);
context.Response.End();
}
private XmlTextWriter WriteRSSPrologue(XmlTextWriter writer)
{
writer.WriteStartDocument();
writer.WriteStartElement("rss");
writer.WriteAttributeString("version", "2.0");
writer.WriteAttributeString("xmlns:dc", "http://purl.org/dc/elements/1.1/");
writer.WriteAttributeString("xmlns:trackbac", "http://madskills.com/public/xml/rss/module/trackback/");
writer.WriteAttributeString("xmlns:wfw", "http://wellformedweb.org/CommentAPI/");
writer.WriteAttributeString("xmlns:slash", "http://purl.org/rss/1.0/modules/slash/");
return writer;
}
private XmlTextWriter WriteRSSHeadChennel(XmlTextWriter writer)
{
writer.WriteStartElement("channel");
writer.WriteElementString("title", "编程博客(Nickeyj's Blog) - 最新日志");
writer.WriteElementString("link", HostUrl + "/ ");
writer.WriteElementString("description", "编程博客(Nickeyj's Blog)");
writer.WriteElementString("copyright", "2008 www.52bcnet.com");
writer.WriteElementString("generator", "编程博客(Nickeyj's Blog) RSS 生成器 2.0 ");
return writer;
}
private XmlTextWriter AddRSSItem(XmlTextWriter writer, string pubDate, string sItemTitle, string sItemLink, string sItemDescription)
{
writer.WriteStartElement("item");
writer.WriteElementString("title", sItemTitle);
writer.WriteElementString("link", sItemLink);
writer.WriteElementString("description", sItemDescription);
writer.WriteElementString("pubDate", pubDate);
writer.WriteEndElement();
return writer;
}
private XmlTextWriter AddRSSItem(XmlTextWriter writer, string sItemTitle, string sItemLink, string sItemDescription, bool bDescAsCDATA)
{
writer.WriteStartElement("item");
writer.WriteElementString("title", sItemTitle);
writer.WriteElementString("link", sItemLink);
if (bDescAsCDATA == true)
{
writer.WriteStartElement("description");
writer.WriteCData(sItemDescription);
writer.WriteEndElement();
}
else
{
writer.WriteElementString("description", sItemDescription);
}
writer.WriteElementString("pubDate", DateTime.Now.ToString("r"));
writer.WriteEndElement();
return writer;
}
private XmlTextWriter WriteRSSClosing(XmlTextWriter writer)
{
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
return writer;
}
}
本文章转载至:http://www.52bcnet.com/show.aspx?id=193312C617D02A01
可能还有很多未完善,但终归可以使用了,以后再慢慢改进!!
本站的RSS地址:http://www.52bcnet.com/rss.aspx
本站的首页:http://www.52bcnet.com
以下是我RSS界面的后台代码,给需要的朋友提供下我的经验:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data;
using System.Data.SqlClient;
using System.Xml;
using System.IO;
using System.Web.Configuration;
public partial class rss : System.Web.UI.Page
{
string HostUrl;
string HttpHead;
protected void Page_Load(object sender, EventArgs e)
{
HttpContext context = HttpContext.Current;
HostUrl = context.Request.Url.ToString();
HostUrl = HostUrl.Substring(0, HostUrl.IndexOf("/", 8));
XmlTextWriter writer = new XmlTextWriter(context.Response.OutputStream, System.Text.Encoding.UTF8);
WriteRSSPrologue(writer);
WriteRSSHeadChennel(writer);
string sql = "select top 10 title,id,time,content from blog_title order by time desc";
SqlDataReader dr = dbconn.ExecuteReader(sql);
while (dr.Read())
{
AddRSSItem(writer, (((DateTime)dr["time"]).ToUniversalTime()).ToString("r"), dr["title"].ToString(), HostUrl, dr["content"].ToString());
}
dr.Close();
writer.Flush();
writer.Close();
context.Response.ContentEncoding = System.Text.Encoding.UTF8;
context.Response.ContentType = "text/xml";
context.Response.Cache.SetCacheability(HttpCacheability.Public);
context.Response.End();
}
private XmlTextWriter WriteRSSPrologue(XmlTextWriter writer)
{
writer.WriteStartDocument();
writer.WriteStartElement("rss");
writer.WriteAttributeString("version", "2.0");
writer.WriteAttributeString("xmlns:dc", "http://purl.org/dc/elements/1.1/");
writer.WriteAttributeString("xmlns:trackbac", "http://madskills.com/public/xml/rss/module/trackback/");
writer.WriteAttributeString("xmlns:wfw", "http://wellformedweb.org/CommentAPI/");
writer.WriteAttributeString("xmlns:slash", "http://purl.org/rss/1.0/modules/slash/");
return writer;
}
private XmlTextWriter WriteRSSHeadChennel(XmlTextWriter writer)
{
writer.WriteStartElement("channel");
writer.WriteElementString("title", "编程博客(Nickeyj's Blog) - 最新日志");
writer.WriteElementString("link", HostUrl + "/ ");
writer.WriteElementString("description", "编程博客(Nickeyj's Blog)");
writer.WriteElementString("copyright", "2008 www.52bcnet.com");
writer.WriteElementString("generator", "编程博客(Nickeyj's Blog) RSS 生成器 2.0 ");
return writer;
}
private XmlTextWriter AddRSSItem(XmlTextWriter writer, string pubDate, string sItemTitle, string sItemLink, string sItemDescription)
{
writer.WriteStartElement("item");
writer.WriteElementString("title", sItemTitle);
writer.WriteElementString("link", sItemLink);
writer.WriteElementString("description", sItemDescription);
writer.WriteElementString("pubDate", pubDate);
writer.WriteEndElement();
return writer;
}
private XmlTextWriter AddRSSItem(XmlTextWriter writer, string sItemTitle, string sItemLink, string sItemDescription, bool bDescAsCDATA)
{
writer.WriteStartElement("item");
writer.WriteElementString("title", sItemTitle);
writer.WriteElementString("link", sItemLink);
if (bDescAsCDATA == true)
{
writer.WriteStartElement("description");
writer.WriteCData(sItemDescription);
writer.WriteEndElement();
}
else
{
writer.WriteElementString("description", sItemDescription);
}
writer.WriteElementString("pubDate", DateTime.Now.ToString("r"));
writer.WriteEndElement();
return writer;
}
private XmlTextWriter WriteRSSClosing(XmlTextWriter writer)
{
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
return writer;
}
}
本文章转载至:http://www.52bcnet.com/show.aspx?id=193312C617D02A01
相关文章推荐
- 为博客提供在线RSS聚合功能
- 在JAVA项目中实现RSS功能
- 为Jekyll博客添加RSS feed订阅功能
- (文章)分享功能 & RSS订阅到Google,Yahoo,qq邮箱的接口源码
- java实现RSS功能
- RSS generator - 如何网页中加入RSS功能
- linux客户端终于做完啦!
- 10月22日工作日志 RSS完善 paypal实现基本功能
- 在Web微信应用中使用博客园RSS以及Quartz.NET实现博客文章内容的定期推送功能
- 终于发现了鼠标关机后仍然发光的原因了与关闭键盘鼠标开机功能的方法第1/2页
- 从oracle 实时取数据 显示表格和fusionCharts曲线图 ,终于测试OK,没想到能给移动公司做个小功能
- 我们期待功能强大的ZoomLa! 逐浪CMS v3.0终于发布了
- 终于完成了人员汇总功能
- 微信七年,终于实现一键切换账号功能了!
- 今天终于完成了加载模型功能
- asp.net(c#) RSS功能实现代码
- 庆贺:D900系统终于稳定功能满足需要
- 刚做完一个项目,终于有时间总结下了
- 一个画钟程序,终于做完了,作个记号
- 今天我终于能够用datagrid的编辑功能了