[XML]RSS一個小例子

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

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

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>無標題頁</title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<fieldset>
        
            
<legend>教育新聞 &nbsp;<input type="button" value="RSS" onclick="getRSS()" /></legend>
            
<p><href="NewsView.aspx">aaaaaaaaaaaaaaaaaaaaaaa</a></p>
            
<p><href="NewsView.aspx">bbbbbbbbbbbbbbbbbbbbbbbbb</a></p>
            
<p><href="NewsView.aspx">ccccccccccccccccccccccccc</a></p>
            
<p><href="NewsView.aspx">dddddd</a></p>       
        
</fieldset>
    
</div>
    
</form>
    
<script>...
    
    
function getRSS()
    ...
{
        
var news = document.getElementsByTagName('a');//得到<a>標籤數組,總共有4個<a>標籤,所以news.length爲4
        var titles='';
        
for(var i=0;i<news.length;i++)
        ...
{
            titles
+=news[i].innerText+'|';//把每條新聞的標題整合成一個數組,這裏得到的結果是形如:aaaaaaaaaaaaaaaa|bbbbbbbbbb|ccccccccccccc|
        }

        
//alert(titles);
        var today = new Date();//取系統當前時間
        window.open('rss.aspx?titles='+titles+'&pubDate='+today.toGMTString());//將新聞標題整合成的數組以及當前時間的GMT格式傳遞給rss.aspx頁面
    }

    
    
</script>
</body>
</html>
 rss.aspx的頁面
<%...@ Page Language="C#" AutoEventWireup="true" CodeFile="rss.aspx.cs" Inherits="rss" %>
rss.aspx.cs頁面代碼如下:
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.Text;

public partial class rss : System.Web.UI.Page
...
{
    
protected void Page_Load(object sender, EventArgs e)
    ...
{
        
string titles = Request.QueryString["titles"].ToString();//獲取傳遞過來的參數
        
//string titles = "aaaaaaaaaaaaaaaaaaaa|bbbbbbbbbbbbbbbbbbbbb|ccccccccccccccccc|ddddd|";
        titles = titles.Remove(titles.LastIndexOf('|'));//移除最後的一條'|'線
        string[] list = titles.Split('|');//按'|'把字符串劃分成一個數組,這裏生成的數組有4個元素,list[0]=aaaaaaaaa,list[1]=bbbbbbb,list[2]=cccccccccccc,list[3]=ddddd
        string pubDate = Request.QueryString["pubDate"].ToString();//獲取傳遞過來的參數

        StringBuilder rss 
= new StringBuilder();
        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.Append("<channel>");//RSS文檔必須的標籤
        rss.Append("<title>教育新聞</title>");//RSS文檔必須的標籤
        rss.Append("<link />");//RSS文檔必須的標籤
        rss.Append("<description>貴州教育網的教育新聞</description>");//RSS文檔必須的標籤
        rss.Append("<dc:language>zh-CHS</dc:language>");//可選的標籤
        rss.Append("<generator>RSS Create By ASP.NET</generator>");//可選的標籤

        
for (int i = 0; i < list.Length;i++ )
        ...
{
            rss.Append(
"<item>");//RSS文檔必須的標籤
            rss.Append("<dc:creator>Xiao Jun</dc:creator>");//可選標籤
            rss.Append("<title>"+list[i]+"</title>");//必須的標籤
            rss.Append("<link>NewsView.aspx?NewsID="+i+"</link>");//必須的標籤
            rss.Append("<pubDate>"+pubDate+"</pubDate>");//可選的標籤
            rss.Append("<guid>NewsView.aspx?NewsID=" + i + "</guid>");//可選的標籤
            rss.Append("<description>這是第" + i + "條新聞</description>");//這個標籤最好要有
            rss.Append("</item>");//<item>的結束標籤
        }


        rss.Append(
"</channel>");//<channel>的結束標籤
        rss.Append("</rss>");//<rss>的結束標籤
        Response.Clear();//晴空response中的內容
        Response.ContentType = "text/xml";//設定內容的MIME類型爲XML文件,因爲RSS文檔其實也是一個XML文檔
        Response.Write(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/">
<channel>
  
<title>教育新聞</title> 
  
<link /> 
  
<description>貴州教育網的教育新聞</description> 
  
<dc:language>zh-CHS</dc:language> 
  
<generator>RSS Create By ASP.NET</generator> 
<item>
  
<dc:creator>Xiao Jun</dc:creator> 
  
<title>aaaaaaaaaaaaaaaaaaaaaaa</title> 
  
<link>NewsView.aspx?NewsID=0</link> 
  
<pubDate>Wed, 15 Aug 2007 14:35:23 UTC</pubDate> 
  
<guid>NewsView.aspx?NewsID=0</guid> 
  
<description>這是第0條新聞</description> 
  
</item>
<item>
  
<dc:creator>Xiao Jun</dc:creator> 
  
<title>bbbbbbbbbbbbbbbbbbbbbbbbb</title> 
  
<link>NewsView.aspx?NewsID=1</link> 
  
<pubDate>Wed, 15 Aug 2007 14:35:23 UTC</pubDate> 
  
<guid>NewsView.aspx?NewsID=1</guid> 
  
<description>這是第1條新聞</description> 
  
</item>
<item>
  
<dc:creator>Xiao Jun</dc:creator> 
  
<title>ccccccccccccccccccccccccc</title> 
  
<link>NewsView.aspx?NewsID=2</link> 
  
<pubDate>Wed, 15 Aug 2007 14:35:23 UTC</pubDate> 
  
<guid>NewsView.aspx?NewsID=2</guid> 
  
<description>這是第2條新聞</description> 
  
</item>
<item>
  
<dc:creator>Xiao Jun</dc:creator> 
  
<title>dddddd</title> 
  
<link>NewsView.aspx?NewsID=3</link> 
  
<pubDate>Wed, 15 Aug 2007 14:35:23 UTC</pubDate> 
  
<guid>NewsView.aspx?NewsID=3</guid> 
  
<description>這是第3條新聞</description> 
  
</item>
  
</channel>
  
</rss>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章