[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 >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值