asp.net(c#) RSS功能实现代码
2024-07-10 12:39:33
供稿:网友
可能还有很多未完善,但终归可以使用了,以后再慢慢改进!!
以下是我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/");