武汉北大青鸟鲁广校区.NET技术
rss是近几年很有用的一个很不错的技术,很多网站老早做了这方面的工作,小农近也为了用户着想,2.0一下,对RSS做点推广工作.以下开始正文:
------------------------
一:关于RSS
Q:rss是什么?
A:rss是在线共享内容的一种简易方式(也叫聚合内容,ReallySimpleSyndication的简称,通常在时效性比较强的内容上使用RSS订阅能更快速获取信息,网站提供RSS输出,有利于让用户获取网站内容的新更新,其实是一种能跨平台的服务于用户的简单xml文件协议.
Q:为什么要RSS?
A:在这个网络知识繁华的岁月,每个人都希望能快速的知道自己关心的知识,比如我关心x站的x一个栏目,我就可以订阅该栏目的rss,如有文章发布,我就能及时的看到更新...中间的商机我就不再赘言了.
OK.开始认识RSS吧.
----------------------
二:RSS文件结构
----------------------
以下以RSS2.0为例说明.rss文件的核心就是xml文件,所以先必须符合xml的构架格式.
它是以
<rssversion="2.0">...</rss>
这种Root形式的格式.
rss有一<channel>的子节点,它包含了文件的内容,在<channel>的里面,有好几个元素用以描述信息.在站点//backend.userland.com/rss上有详细的内容,比如以下:
title:标题,经常还有资料的来源信息
link:web站点的url地址
description:对网站的一个简单描述.
每条信息用以<item>元素表示,它被包含在<channel>节点里面,每个<channel>可以有多个<item>,每个<item>节点是真正的节点信息:
title:列表项目的标题
link:列表项目的weburl地址,
description:对列表项目的简短说明,
author:列表信息的作者
pubDate:发布时间.
我在这里放个例子(信息供参考):
<rssversion="2.0">
<channel>
<title>5do8--专注.net,PHP</title>
<link>//www.5do8.com</link>
<description>老农如是想,如是说,如是为</description>
<item>
<title>有话说</title>
<link>//www.5do8.com/blog/news.asp?id=480</link>
<pubDate>Sun,14Dec200621:00:00GMT</pubDate>
</item>
</channel>
</rss>
这里,有一个很重要的节点就是pubDate的格式,它必须符合RFC822的标准,查看细节.开始于三个字母长度的星期,然后是每月的天数次序,然后是3个字母的月份,然后是年份,然后是具体的时间,后是时区.
详细信息请查看资料,我这里简短介绍.
----------------------
三:ASP.NET输出RSS
输出rss文档的比较简单,如下例子:
<%@Pagelanguage="c#"ContentType="text/xml;charset=gb2312"%>
<scriptlanguage="c#"runat="server">
voidPage_Load(objectsender,EventArgse)
{
Cmder.Data.MsSqlconn=newCmder.Data.MsSql();
conn.ConnectionString=AppDataStr();
stringsql="select5info_id,user_id,info_title,info_timefroml_infoorderbyinfo_iddesc";
rptRSS.DataSource=conn.MDataSet(sql);
rptRSS.DataBind();
}
publicstringAppDataStr(){
returnSystem.Configuration.ConfigurationSettings.AppSettings["connectString"].ToString();
}
stringFormatForXML(objectinput)
{
stringdata=input.ToString();//casttheinputtoastring
//replacethosecharactersdisallowedinXMLdocuments
data=data.Replace("&","&");
data=data.Replace("\"",""");
data=data.Replace("'","'");
data=data.Replace("<","<");
data=data.Replace(">",">");
returndata;
}
</script>
<asp:Repeaterid="rptRSS"runat="server">
<HeaderTemplate>
<?xmlversion="1.0"encoding="gb2312"?>
<?xml-stylesheethref="rss.xsl"type="text/xsl"media="all"?>
<rssversion="2.0"xmlnsc="//purl.org/dc/elements/1.1/"xmlns:sy="//purl.org/rss/1.0/modules/syndication/"xmlns:admin="//webns.net/mvcb/"xmlns:rdf="//www.w3.org/1999/02/22-rdf-syntax-ns#">
<channel>
<title>老农专注数据库编程</title>
<link>//www.5do8.com/</link>
<description>老农如是想如是为</description>
<copyright>copyrightby5do8</copyright>
</HeaderTemplate>
<ItemTemplate>
<item>
<title><%#FormatForXML(DataBinder.Eval(Container.DataItem,
"info_title"))%></title>
<description>
<%#FormatForXML(DataBinder.Eval(Container.DataItem,
"info_title"))%>
</description>
<link>
//www.5do8.com/blog/news.asp?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>
如果您的数据量比较大的话,建议参与文件缓存或者cache等处理,不要每次都读取数据库.
后,使用了xsl样式表样式格式化了rss.
本文标题:基础知识之认识和使用 RSS+asp.net,责任编辑:宏鹏,来源:武汉北大青鸟鲁广校区栏目,于10-09发布于北大青鸟鲁广校区。武汉北大青鸟鲁广校区.NET技术 rss是近几年很有用的一个很不错的技术,很多网站老早做了这方面的工作,小农近也为了用户着想,2.0一下,对RSS做点推广工作.以下开始正文: ------------
预约将免费领取7天课程体验卡
只为您方便就学
专业老师24小时1对1学习指导
定制专属于你的专属学习方案
微信号:17740513250
微信号:17740513250