让网站支持RSS订阅
添加一个页面,例如Rss.aspx,里面的代码除了下面一行以外都删掉:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Rss.aspx.cs" Inherits="MyNamespace.Rss" %>
Rss.aspx.cs代码实现:
using System; using System.Text; using System.Collections; using System.Collections.Generic; using System.Configuration; using System.Data; using System.IO; using System.Xml; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; namespace MyNamespace { public partial class Rss : System.Web.UI.Page { /// <summary> /// 输出XML格式数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; Response.Cache.SetNoStore(); Response.ContentType = "application/xml"; Response.Write(GetRSSOutput()); Response.End(); } /// <summary> /// 生成RSS内容 /// </summary> /// <returns></returns> private string GetRSSOutput() { using (MemoryStream ms = new MemoryStream()) { using (XmlTextWriter xmlTW = new XmlTextWriter(ms, Encoding.UTF8)) { xmlTW.Formatting = Formatting.Indented; xmlTW.WriteStartDocument(); xmlTW.WriteStartElement("rss"); xmlTW.WriteAttributeString("version", "2.0"); xmlTW.WriteStartElement("channel"); xmlTW.WriteElementString("title", "欢迎订阅 XXX网 - XXX频道 RSS"); xmlTW.WriteElementString("link", "http://www.xxxx.com/"); xmlTW.WriteElementString("description", "xxxx的描述"); // ---!!此处从你的Business Logic或数据处理层读取数据,输出给RSS--------------- // -- !!注意改成你自己的数据实体,List<你的实体>或DataSet,DataTable等----- IList<MyEntityItem> list = BLL.EntityProvider.GetEntitiesList(); foreach (MyEntityItem var in list) { xmlTW.WriteStartElement("item"); //----文章的标题----- xmlTW.WriteElementString("title", var.Title); //----文章的URL----- xmlTW.WriteElementString("link", "http://www.xxx.com/yyy.aspx?id=" + var.ID.ToString()); //----文章发布时间----- xmlTW.WriteElementString("pubDate", string.Format("{0:R}", var.PostAt)); //----文章的作者----- xmlTW.WriteElementString("author", var.AuthorName); //----文章的描述----- // --- 可以带<a href="xxx">yyy</a>, 如果多行,可以带" <br/>" xmlTW.WriteElementString("description", var.Desc); xmlTW.WriteEndElement(); } xmlTW.WriteEndElement(); xmlTW.WriteEndElement(); xmlTW.WriteEndDocument(); xmlTW.Flush(); byte[] buffer = ms.ToArray(); return Encoding.UTF8.GetString(buffer); } } } } }
完成以后在IE里面输入该页面的URL可以看到RSS输出。
(以上就是全部代码了,把MyNamespace改成你的namespace,把数据层对象改成你自己的就可以了!)