demoshop

demo, trying to be the best_

產生 RSS feed

  • 2008-04-22
  • 16505
  • 0

RSS是現在很風行的一種服務,建構在XML之中,如果我們自己的網站想要產生RSS就可以利用此篇範例來動態產生以便使用者可以很方便的訂閱我們。

▲首先您必須要在頁面上using以下三個命名空間

using System.Data.SqlClient;
using System.Xml;
using System.Text; 


▲再來就是code部份了請改掉應該要改的=.=

  protected void Page_Load(object sender, EventArgs e)
 {
     Response.Clear();
     Response.ContentType = "text/xml";//設定http mime
     XmlTextWriter xmlTw = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
     //產生RSS檔頭開始
     xmlTw.WriteStartDocument();
     xmlTw.WriteStartElement("rss");
     xmlTw.WriteAttributeString("version", "2.0");
     xmlTw.WriteStartElement("channel");
     xmlTw.WriteElementString("title", "demo小鋪 最新文章");
     xmlTw.WriteElementString("link", "http://demo.tc");
     xmlTw.WriteElementString("description", "創作、分享、交流的園地");
     xmlTw.WriteElementString("ttl", "60");
     //產生RSS檔頭結束
     SqlConnection conn = demotools.getSqlConnection();//getSqlConnection()為demo抓取連結字串的方法
     SqlCommand comm = new SqlCommand("sql語句", conn);
     conn.Open();
     SqlDataReader reader = comm.ExecuteReader(CommandBehavior.CloseConnection);
 
     while (reader.Read())
     {
         xmlTw.WriteStartElement("item");
         xmlTw.WriteElementString("title", reader.GetString(2));
         xmlTw.WriteElementString("description", reader.GetString(3));
         xmlTw.WriteElementString("link", "http://demo.tc/view.aspx?id=" + reader.GetInt32(0));
         xmlTw.WriteElementString("ModifyUserID", reader.GetByte(4).ToString());
         xmlTw.WriteElementString("pubDate", reader.GetDateTime(1).ToString("r"));
         xmlTw.WriteEndElement();
     }
 
     reader.Dispose();
     conn.Dispose();
     xmlTw.WriteEndElement();
     xmlTw.WriteEndElement();
     xmlTw.WriteEndDocument();
     xmlTw.Flush();
     xmlTw.Close();
     Response.End();
     comm.Dispose();
 } 

★注意事項:拿來放以上code的頁面把他砍得只剩下第一條就好,如下


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="RSS_Default" %>  

♥小提醒:在你的網站每一頁加上可以告知遊覽器此網站擁有RSS(href的網址請改為您的rss位子)

<link href="http://demo.tc/rss" rel="alternate" type="application/rss+xml" /> 



http://www.rssboard.org/rss-specification

 

回應討論