天天看點

有關于怎麼生成一個RSS文檔的小例子

        最近跟着公司在開發一個新聞系統,經理說可能要對新聞分類顯示RSS資訊,以便讀者訂閱,讓讀者及時知道最新的新聞.這不,今天就研究了一天關于RSS的東西.整的頭又點暈(哎,菜鳥就是菜鳥,沒想法 - -#).

       先說說有關怎麼生成一個RSS文檔吧.我就針對我這裡的這個小例子來說,這個小例子模仿的是一個教育新聞類(資料都是靜态的,實際應用中是要從資料庫裡讀取新聞記錄的,這裡是友善舉例,是以就這麼做了).先看看HTML代碼吧.Default.aspx頁面的HTML代碼如下:

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

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

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

< html  xmlns ="http://www.w3.org/1999/xhtml"   >

有關于怎麼生成一個RSS文檔的小例子

< head  runat ="server" >

有關于怎麼生成一個RSS文檔的小例子

     < title > 無标題頁 </ title >

有關于怎麼生成一個RSS文檔的小例子

</ head >

有關于怎麼生成一個RSS文檔的小例子

< body >

有關于怎麼生成一個RSS文檔的小例子

     < form  id ="form1"  runat ="server" >

有關于怎麼生成一個RSS文檔的小例子

     < div >

有關于怎麼生成一個RSS文檔的小例子

         < fieldset >

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

             < legend > 教育新聞  &nbsp; < input  type ="button"  value ="RSS"  onclick ="getRSS()"   /></ legend >

有關于怎麼生成一個RSS文檔的小例子

             < p >< a  href ="NewsView.aspx" > aaaaaaaaaaaaaaaaaaaaaaa </ a ></ p >

有關于怎麼生成一個RSS文檔的小例子

             < p >< a  href ="NewsView.aspx" > bbbbbbbbbbbbbbbbbbbbbbbbb </ a ></ p >

有關于怎麼生成一個RSS文檔的小例子

             < p >< a  href ="NewsView.aspx" > ccccccccccccccccccccccccc </ a ></ p >

有關于怎麼生成一個RSS文檔的小例子

             < p >< a  href ="NewsView.aspx" > dddddd </ a ></ p >        

有關于怎麼生成一個RSS文檔的小例子

         </ fieldset >

有關于怎麼生成一個RSS文檔的小例子

     </ div >

有關于怎麼生成一個RSS文檔的小例子

     </ form >

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

     < script > ...

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

    function getRSS()

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

    ...{

有關于怎麼生成一個RSS文檔的小例子

        var news = document.getElementsByTagName('a');//得到<a>标簽數組,總共有4個<a>标簽,是以news.length為4

有關于怎麼生成一個RSS文檔的小例子

        var titles='';

有關于怎麼生成一個RSS文檔的小例子

        for(var i=0;i<news.length;i++)

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

        ...{

有關于怎麼生成一個RSS文檔的小例子

            titles+=news[i].innerText+'|';//把每條新聞的标題整合成一個數組,這裡得到的結果是形如:aaaaaaaaaaaaaaaa|bbbbbbbbbb|ccccccccccccc|

有關于怎麼生成一個RSS文檔的小例子

        }

有關于怎麼生成一個RSS文檔的小例子

        //alert(titles);

有關于怎麼生成一個RSS文檔的小例子

        var today = new Date();//取系統目前時間

有關于怎麼生成一個RSS文檔的小例子

        window.open('rss.aspx?titles='+titles+'&pubDate='+today.toGMTString());//将新聞标題整合成的數組以及目前時間的GMT格式傳遞給rss.aspx頁面

有關于怎麼生成一個RSS文檔的小例子

    }

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

     </ script >

有關于怎麼生成一個RSS文檔的小例子

</ body >

有關于怎麼生成一個RSS文檔的小例子

</ html >

有關于怎麼生成一個RSS文檔的小例子

HTML代碼其實很簡單,有4條新聞,還有一個按鈕,其onclick事件調用JS函數getRSS(),這個函數主要就是生成一些必要的參數,然後傳遞給一個叫rss.aspx的頁面.rss.aspx頁面就是用來生成RSS文檔的.RSS頁面的的HTML代碼隻有一行.

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

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

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

rss.aspx.cs頁面代碼如下:

有關于怎麼生成一個RSS文檔的小例子

using  System;

有關于怎麼生成一個RSS文檔的小例子

using  System.Data;

有關于怎麼生成一個RSS文檔的小例子

using  System.Configuration;

有關于怎麼生成一個RSS文檔的小例子

using  System.Collections;

有關于怎麼生成一個RSS文檔的小例子

using  System.Web;

有關于怎麼生成一個RSS文檔的小例子

using  System.Web.Security;

有關于怎麼生成一個RSS文檔的小例子

using  System.Web.UI;

有關于怎麼生成一個RSS文檔的小例子

using  System.Web.UI.WebControls;

有關于怎麼生成一個RSS文檔的小例子

using  System.Web.UI.WebControls.WebParts;

有關于怎麼生成一個RSS文檔的小例子

using  System.Web.UI.HtmlControls;

有關于怎麼生成一個RSS文檔的小例子

using  System.Text;

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

public   partial   class  rss : System.Web.UI.Page

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

... {

有關于怎麼生成一個RSS文檔的小例子

    protected void Page_Load(object sender, EventArgs e)

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

    ...{

有關于怎麼生成一個RSS文檔的小例子

        string titles = Request.QueryString["titles"].ToString();//擷取傳遞過來的參數

有關于怎麼生成一個RSS文檔的小例子

        //string titles = "aaaaaaaaaaaaaaaaaaaa|bbbbbbbbbbbbbbbbbbbbb|ccccccccccccccccc|ddddd|";

有關于怎麼生成一個RSS文檔的小例子

        titles = titles.Remove(titles.LastIndexOf('|'));//移除最後的一條'|'線

有關于怎麼生成一個RSS文檔的小例子

        string[] list = titles.Split('|');//按'|'把字元串劃分成一個數組,這裡生成的數組有4個元素,list[0]=aaaaaaaaa,list[1]=bbbbbbb,list[2]=cccccccccccc,list[3]=ddddd

有關于怎麼生成一個RSS文檔的小例子

        string pubDate = Request.QueryString["pubDate"].ToString();//擷取傳遞過來的參數

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

        StringBuilder rss = new StringBuilder();

有關于怎麼生成一個RSS文檔的小例子

        rss.Append("<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">");//rss文檔必須的标簽

有關于怎麼生成一個RSS文檔的小例子

        rss.Append("<channel>");//RSS文檔必須的标簽

有關于怎麼生成一個RSS文檔的小例子

        rss.Append("<title>教育新聞</title>");//RSS文檔必須的标簽

有關于怎麼生成一個RSS文檔的小例子

        rss.Append("<link />");//RSS文檔必須的标簽

有關于怎麼生成一個RSS文檔的小例子

        rss.Append("<description>貴州教育網的教育新聞</description>");//RSS文檔必須的标簽

有關于怎麼生成一個RSS文檔的小例子

        rss.Append("<dc:language>zh-CHS</dc:language>");//可選的标簽

有關于怎麼生成一個RSS文檔的小例子

        rss.Append("<generator>RSS Create By ASP.NET</generator>");//可選的标簽

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

        for (int i = 0; i < list.Length;i++ )

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

        ...{

有關于怎麼生成一個RSS文檔的小例子

            rss.Append("<item>");//RSS文檔必須的标簽

有關于怎麼生成一個RSS文檔的小例子

            rss.Append("<dc:creator>Xiao Jun</dc:creator>");//可選标簽

有關于怎麼生成一個RSS文檔的小例子

            rss.Append("<title>"+list[i]+"</title>");//必須的标簽

有關于怎麼生成一個RSS文檔的小例子

            rss.Append("<link>NewsView.aspx?NewsID="+i+"</link>");//必須的标簽

有關于怎麼生成一個RSS文檔的小例子

            rss.Append("<pubDate>"+pubDate+"</pubDate>");//可選的标簽

有關于怎麼生成一個RSS文檔的小例子

            rss.Append("<guid>NewsView.aspx?NewsID=" + i + "</guid>");//可選的标簽

有關于怎麼生成一個RSS文檔的小例子

            rss.Append("<description>這是第" + i + "條新聞</description>");//這個标簽最好要有

有關于怎麼生成一個RSS文檔的小例子

            rss.Append("</item>");//<item>的結束标簽

有關于怎麼生成一個RSS文檔的小例子

        }

有關于怎麼生成一個RSS文檔的小例子
有關于怎麼生成一個RSS文檔的小例子

        rss.Append("</channel>");//<channel>的結束标簽

有關于怎麼生成一個RSS文檔的小例子

        rss.Append("</rss>");//<rss>的結束标簽

有關于怎麼生成一個RSS文檔的小例子

        Response.Clear();//晴空response中的内容

有關于怎麼生成一個RSS文檔的小例子

        Response.ContentType = "text/xml";//設定内容的MIME類型為XML檔案,因為RSS文檔其實也是一個XML文檔

有關于怎麼生成一個RSS文檔的小例子

        Response.Write(rss);//輸出RSS

有關于怎麼生成一個RSS文檔的小例子

    }

有關于怎麼生成一個RSS文檔的小例子

}

有關于怎麼生成一個RSS文檔的小例子

生成的RSS文檔如下:

有關于怎麼生成一個RSS文檔的小例子

-  < rss  version ="2.0"  xmlns:dc ="http://purl.org/dc/elements/1.1/"  xmlns:trackback ="http://madskills.com/public/xml/rss/module/trackback/"  xmlns:wfw ="http://wellformedweb.org/CommentAPI/"  xmlns:slash ="http://purl.org/rss/1.0/modules/slash/" >

有關于怎麼生成一個RSS文檔的小例子

-  < channel >

有關于怎麼生成一個RSS文檔的小例子

   < title > 教育新聞 </ title >  

有關于怎麼生成一個RSS文檔的小例子

   < link  />  

有關于怎麼生成一個RSS文檔的小例子

   < description > 貴州教育網的教育新聞 </ description >  

有關于怎麼生成一個RSS文檔的小例子

   < dc:language > zh-CHS </ dc:language >  

有關于怎麼生成一個RSS文檔的小例子

   < generator > RSS Create By ASP.NET </ generator >  

有關于怎麼生成一個RSS文檔的小例子

-  < item >

有關于怎麼生成一個RSS文檔的小例子

   < dc:creator > Xiao Jun </ dc:creator >  

有關于怎麼生成一個RSS文檔的小例子

   < title > aaaaaaaaaaaaaaaaaaaaaaa </ title >  

有關于怎麼生成一個RSS文檔的小例子

   < link > NewsView.aspx?NewsID=0 </ link >  

有關于怎麼生成一個RSS文檔的小例子

   < pubDate > Wed, 15 Aug 2007 14:35:23 UTC </ pubDate >  

有關于怎麼生成一個RSS文檔的小例子

   < guid > NewsView.aspx?NewsID=0 </ guid >  

有關于怎麼生成一個RSS文檔的小例子

   < description > 這是第0條新聞 </ description >  

有關于怎麼生成一個RSS文檔的小例子

   </ item >

有關于怎麼生成一個RSS文檔的小例子

-  < item >

有關于怎麼生成一個RSS文檔的小例子

   < dc:creator > Xiao Jun </ dc:creator >  

有關于怎麼生成一個RSS文檔的小例子

   < title > bbbbbbbbbbbbbbbbbbbbbbbbb </ title >  

有關于怎麼生成一個RSS文檔的小例子

   < link > NewsView.aspx?NewsID=1 </ link >  

有關于怎麼生成一個RSS文檔的小例子

   < pubDate > Wed, 15 Aug 2007 14:35:23 UTC </ pubDate >  

有關于怎麼生成一個RSS文檔的小例子

   < guid > NewsView.aspx?NewsID=1 </ guid >  

有關于怎麼生成一個RSS文檔的小例子

   < description > 這是第1條新聞 </ description >  

有關于怎麼生成一個RSS文檔的小例子

   </ item >

有關于怎麼生成一個RSS文檔的小例子

-  < item >

有關于怎麼生成一個RSS文檔的小例子

   < dc:creator > Xiao Jun </ dc:creator >  

有關于怎麼生成一個RSS文檔的小例子

   < title > ccccccccccccccccccccccccc </ title >  

有關于怎麼生成一個RSS文檔的小例子

   < link > NewsView.aspx?NewsID=2 </ link >  

有關于怎麼生成一個RSS文檔的小例子

   < pubDate > Wed, 15 Aug 2007 14:35:23 UTC </ pubDate >  

有關于怎麼生成一個RSS文檔的小例子

   < guid > NewsView.aspx?NewsID=2 </ guid >  

有關于怎麼生成一個RSS文檔的小例子

   < description > 這是第2條新聞 </ description >  

有關于怎麼生成一個RSS文檔的小例子

   </ item >

有關于怎麼生成一個RSS文檔的小例子

-  < item >

有關于怎麼生成一個RSS文檔的小例子

   < dc:creator > Xiao Jun </ dc:creator >  

有關于怎麼生成一個RSS文檔的小例子

   < title > dddddd </ title >  

有關于怎麼生成一個RSS文檔的小例子

   < link > NewsView.aspx?NewsID=3 </ link >  

有關于怎麼生成一個RSS文檔的小例子

   < pubDate > Wed, 15 Aug 2007 14:35:23 UTC </ pubDate >  

有關于怎麼生成一個RSS文檔的小例子

   < guid > NewsView.aspx?NewsID=3 </ guid >  

有關于怎麼生成一個RSS文檔的小例子

   < description > 這是第3條新聞 </ description >  

有關于怎麼生成一個RSS文檔的小例子

   </ item >

有關于怎麼生成一個RSS文檔的小例子

   </ channel >

有關于怎麼生成一個RSS文檔的小例子

   </ rss >

這隻是一個簡單的小例子,具體功能可以自行擴充,RSS文檔生成好了,下面的工作就是要寫一個RSS閱讀器了.有關RSS閱讀器的文章,請關注我的BLOG,可能會在以後的幾天裡把有關RSS閱讀器的東東寫出來給大家分享,我也不懂,在研究幾天.呵呵~~