一,RSS文件结构
<rss version="2.0">
<channel>
<title>XXX</title>
<link>http://www.XXX.com</link>
<description>内容</description>
<item>
<title>标题</title>
<link>http://www.XXX.com</link>
<pubDate>时间</pubDate>
</item>
</channel>
</rss>
title:标题,经常还有资料的来源信息
link:web站点的url地址
description:对网站的一个简单描述.
每条信息用以<item>元素表示,它被包含在<channel>节点里面,每个<channel>可以有多个<item>,每个<item>节点是真正的节点信息:
title:列表项目的标题
link:列表项目的web url地址,
description:对列表项目的简短说明,
author:列表信息的作者
pubDate:发布时间.
ASP.NET输出RSS
输出rss文档的比较简单,如下例子:
<%@ Page language="c#" ContentType="text/xml;charset=gb2312" %>
<script language="c#" runat="server">
void Page_Load(object sender,EventArgs e)
{
Cmder.Data.MsSql conn = new Cmder.Data.MsSql();
conn.ConnectionString=AppDataStr();
string sql="select top 5 info_id,user_id,info_title,info_time from l_info order by info_id desc";
rptRSS.DataSource =conn.MDataSet(sql);
rptRSS.DataBind();
}
public string AppDataStr(){
return System.Configuration.ConfigurationSettings.AppSettings["connectString"].ToString();
}
string FormatForXML(object input)
{
string data = input.ToString(); // cast the input to a string
// replace those characters disallowed in XML documents
data = data.Replace("&", "&");
data = data.Replace("/"", """);
data = data.Replace("'", "'");
data = data.Replace("<", "<");
data = data.Replace(">", ">");
return data;
}
</script>
<asp:Repeater id="rptRSS" runat="server">
<HeaderTemplate>
<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet href="rss.xsl" type="text/xsl" media="all"?>
<rss version="2.0" xmlns:slash="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<channel>
<title>老农专注数据库编程</title>
<link>http://www.5do8.com/</link>
<description>老农如是想如是为</description>
<copyright>copyright by 5do8</copyright>
</HeaderTemplate>
<ItemTemplate>
<item>
<title><%# FormatForXML(DataBinder.Eval(Container.DataItem,
"info_title")) %></title>
<description>
<%# FormatForXML(DataBinder.Eval(Container.DataItem,
"info_title")) %>
</description>
<link>
http://www.XXX.com/news.aspx?id=<%#
DataBinder.Eval(Container.DataItem, "info_id") %>
</link>
<author><%# FormatForXML(DataBinder.Eval(Container.DataItem,
"user_id")) %></author>
<pubDate>
<%# String.Format("{0:R}",
DataBinder.Eval(Container.DataItem,
"info_time")) %>
</pubDate>
</item>
</ItemTemplate>
<FooterTemplate>
</channel>
</rss>
</FooterTemplate>
</asp:Repeater>
收集整理