您的位置:首页 > 编程语言 > ASP

Asp.net实现网站的RSS功能

2011-04-05 14:29 274 查看
RSS是共享内容的一种简易方式,也称聚合.通常被用于新闻和Blog。网站提供RSS输出,有利于让用户发现网站内容的更新。网站用户可以借助于支持RSS的新闻聚合工具软件或者在线网站(如BLOGLINES),订阅网站的内容并在不打开网站页面的情况下阅读内容。

闲话少说,步入正题!

创建新项目,新建Rss.aspx页,因为XML文件内容的输出是采用直接输出字符串的形式,只留下面这一行即可

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Rss.aspx.cs" Inherits="MyVs2008.Rss" %>
后台代码;Rss.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
Response.ContentType = "text/xml";
Response.Charset = "UTF-8";
Response.Write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
Response.Write("<rss version=\"2.0\"><channel>");
Response.Write(GetUserRSS(GetMovie()));
Response.Write("</channel></rss>");
}

/// <summary>
/// 输出RSS格式的数据
/// </summary>
/// <param name="milist"></param>
/// <returns></returns>
private string GetUserRSS(System.Collections.Generic.List<MovieInfo> milist)
{
System.Text.StringBuilder strRss = new System.Text.StringBuilder();
strRss.Append("<title>网视电影</title>");
strRss.Append("<link>http://hi.baidu.com/zck98530</link> ");
strRss.Append("<description>网视电影平台</description> ");
strRss.Append("<language>zh-cn</language>");
strRss.Append("<generator>http://hi.baidu.com/zck98530 </generator>");
foreach (MovieInfo mi in milist)
{
strRss.Append("<item>");
strRss.Append("<title>" + mi.MovieTitle + "</title>");
strRss.Append("<author>" + mi.MoviePlayer + "</author>");
strRss.Append("<description>" + mi.MovieRemark + "</description>");
strRss.Append("<pubDate>" + mi.MovieDate + "</pubDate>");
strRss.Append("<link>http://localhost/a.aspx?ID=" + mi.MovieID + "</link>");
strRss.Append("</item>");
}

return strRss.ToString();
}
/// <summary>
/// 存储影片信息的类
/// </summary>
public class MovieInfo
{
public string MovieTitle { get; set; }
public string MoviePlayer { get; set; }
public string MovieRemark { get; set; }
public string MovieDate { get; set; }
public string MovieID { get; set; }
}
/// <summary>
/// 获取所有影片信息
/// </summary>
/// <returns></returns>
public System.Collections.Generic.List<MovieInfo> GetMovie()
{
System.Collections.Generic.List<MovieInfo> movie=new System.Collections.Generic.List<MovieInfo>();
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("App_Data\\superVOD.mdb") + ";");
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "select top 10 [T2],[T7],[S1],[D5],[autoID] from [video] order by [D5] Desc";
conn.Open();
System.Data.OleDb.OleDbDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
MovieInfo info = new MovieInfo();
info.MovieTitle = dr["T2"].ToString();
info.MoviePlayer = dr["T7"].ToString();
info.MovieID = dr["autoID"].ToString();
info.MovieRemark = dr["S1"].ToString();
info.MovieDate = dr["D5"].ToString();
movie.Add(info);
}
dr.Close();
conn.Close();
return movie;
}


通知浏览器网站提供了RSS输出,把下面的这句放在博客或这站点的<head>标签中

<link id="RSSLink" title="RSS" type="application/rss+xml" rel="alternate" href="http://yourdomain/Rss.aspx" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: