ASP.NET中生成rss.xml你会吗?

来源:互联网 发布:易建联职业生涯数据 编辑:程序博客网 时间:2024/05/18 02:26

文章转自:爱符号  http://www.afuhao.com/article_articleId-177.shtml


rss,就是订阅,它输出一个xml文件,在部分浏览器中打开这样的文件,会有一个特殊的视图。

     其实rss主要就是说明某个版块的一些信息,和它所包含的一些重新链接。比如说文章列表(标题与链接)。


ContentType:application/rss+xml     注意一定要设置Response.ContentType="application/rss+xml"; 否则就算你输出的是正确的XML格式,也不会被识别

ContentEncoding:UTF-8               注意这种文件类型的通用编码是utf-8,如果不设置成它,会有乱码的,Response.ContentEncoding=Encoding.UTF8;


参考网址:

http://www.afuhao.com/feed.shtml    用火狐或IE打开,会看到非常漂亮的页面效果,请查看它的具体内容输出,这是动态页输出

http://www.afuhao.com/rss.xml       跟feed.shtml一样,不过它是生成的xml文件,是纯静态的。



下面来看看rss.xml的结构:

[xhtml] 
  1. <?xml version="1.0" standalone="yes" ?>  
  2. <?xml-stylesheet type="text/css" href="http://www.afuhao.com/resources/feed/allrss.css"?>  
  3. <rss version="2.0">  
  4.     <channel>  
  5.         <title>爱符号</title>  
  6.         <link>http://www.afuhao.com/index.shtml</link>  
  7.         <description>爱符号首页</description>  
  8.         <generator>Symbol.CMS 1.0</generator>  
  9.         <language>zh-CN</language>  
  10.         <copyright>爱符号</copyright>  
  11.         <pubDate>2013-04-19 06:08:00</pubDate>  
  12.           
  13.         <item>  
  14.             <title>你用C#做记事本了吗?</title>  
  15.             <author>符号空间</author>  
  16.             <link>http://www.afuhao.com/article_titlePinyin-NiYongC%23ZuoJiShiBenLiaoMa%EF%BC%9F_articleId-176_ArticleGroupId-42.shtml</link>  
  17.             <pubDate>2013-04-17 18:41:50</pubDate>  
  18.             <guid>http://www.afuhao.com/article_titlePinyin-NiYongC%23ZuoJiShiBenLiaoMa%EF%BC%9F_articleId-176_ArticleGroupId-42.shtml</guid>  
  19.             <description><![CDATA[学习windows应用程序的时候,应该都要做记事本程序吧,你有写吗? 
  20. 没写的同学,快点去写吧。]]></description>  
  21.             <category>桌面应用-C#</category>  
  22.             <comments>http://www.afuhao.com/article_titlePinyin-NiYongC%23ZuoJiShiBenLiaoMa%EF%BC%9F_articleId-176_ArticleGroupId-42.shtml#comment</comments>  
  23.         </item>  
  24.           
  25.         <item>  
  26.             <title>C# 自己绘制报表,GDI你会用吗?</title>  
  27.             <author>符号空间</author>  
  28.             <link>http://www.afuhao.com/article_titlePinyin-C%23%2320ZiJiHuiZhiBaoBiao%EF%BC%8CGDINiHuiYongMa%EF%BC%9F_articleId-175_ArticleGroupId-42.shtml</link>  
  29.             <pubDate>2013-04-13 15:29:06</pubDate>  
  30.             <guid>http://www.afuhao.com/article_titlePinyin-C%23%2320ZiJiHuiZhiBaoBiao%EF%BC%8CGDINiHuiYongMa%EF%BC%9F_articleId-175_ArticleGroupId-42.shtml</guid>  
  31.             <description><![CDATA[你会GDI画图吗?自己做个简单的报表,你准备好了吗?]]></description>  
  32.             <category>桌面应用-C#</category>  
  33.             <comments>http://www.afuhao.com/article_titlePinyin-C%23%2320ZiJiHuiZhiBaoBiao%EF%BC%8CGDINiHuiYongMa%EF%BC%9F_articleId-175_ArticleGroupId-42.shtml#comment</comments>  
  34.         </item>  
  35.           
  36.     </channel>  
  37. </rss>  


分解说明:

[xhtml] 查看源代码复制打印
  1. <?xml-stylesheet type="text/css" href="http://www.afuhao.com/resources/feed/allrss.css"?><!--这里用来设置RSS的样式,可以没有-->  
[xhtml]
  1. <rss version="2.0">  
  2.     <channel><!--频道部分,首页建议用网站的信息,栏目页面(分类)用栏目的信息,有的门户网站有真正的频道的。-->  
  3.         <title>爱符号</title><!--频道标题-->  
  4.         <link>http://www.afuhao.com/index.shtml</link><!--频道的链接-->  
  5.         <description>爱符号首页</description><!--频道的描述-->  
  6.         <generator>Symbol.CMS 1.0</generator><!--标明生成器,可以没有-->  
  7.         <language>zh-CN</language><!--所属语言-->  
  8.         <copyright>爱符号</copyright><!--版权-->  
  9.         <pubDate>2013-04-19 06:08:00</pubDate><!--频道最后更新时间-->  
  10.     </channel>  
  11. </rss>  
[xhtml] 
  1. <item><!--单项信息,一般就是用来描述文章信息的-->  
  2.     <title>你用C#做记事本了吗?</title><!--链接标题,一般指的是文章标题-->  
  3.     <author>符号空间</author><!--作者,一般指的就是文章作者-->  
  4.     <link>http://www.afuhao.com/article_titlePinyin-NiYongC%23ZuoJiShiBenLiaoMa%EF%BC%9F_articleId-176_ArticleGroupId-42.shtml</link><!--链接地址-->  
  5.     <pubDate>2013-04-17 18:41:50</pubDate><!--最后更新时间-->  
  6.     <guid>http://www.afuhao.com/article_titlePinyin-NiYongC%23ZuoJiShiBenLiaoMa%EF%BC%9F_articleId-176_ArticleGroupId-42.shtml</guid><!--唯一标识,一般用的就是链接地址-->  
  7.     <description><![CDATA[学习windows应用程序的时候,应该都要做记事本程序吧,你有写吗? 
  8. 去写吧。]]></description><!--描述,一般指的就是文章摘要,注意由于它的内容多,所以要用CDATA-->  
  9.     <category>桌面应用-C#</category><!--所属栏目名称-->  
  10.     <comments>http://www.afuhao.com/article_titlePinyin-NiYongC%23ZuoJiShiBenLiaoMa%EF%BC%9F_articleId-176_ArticleGroupId-42.shtml#comment</comments><!--评论链接地址,如果你的网站没有评论,就可以没有它。注意后面的#comment其实是一个锚链接,快速定位页面位置的。-->  
  11. </item>  



下面是动态页面的代码,不完整,仅供参考:

[xhtml] 
  1. <%@ Page Title="" Language="C#" %><%  
  2. //查询代码,省略,请自己去想哦。  
  3. Response.ContentEncoding = Encoding.UTF8;  
  4. Response.ContentType = "application/rss+xml";  
  5. %><?xml version="1.0" standalone="yes" ?>  
  6. <?xml-stylesheet type="text/css" href="<%=External.GetRemoteUrl().AbsoluteUri %>resources/feed/allrss.css"?>  
  7. <rss version="2.0">  
  8.     <channel>  
  9.         <title><%=title %></title>  
  10.         <link><%=link %></link>  
  11.         <description><%=description %></description>  
  12.         <generator>Symbol.CMS 1.0</generator>  
  13.         <language>zh-CN</language>  
  14.         <copyright><%=External.Setting(Setting.WebsiteTitle)%></copyright>  
  15.         <pubDate><%=DateTime.Now.ToString("yyyy-MM-dd HH:mm") %>:00</pubDate>  
  16.         <%foreach (Article item in q) {  
  17.               currentUser = getUser(item.UserId); url = Symbol.HttpUtility.HtmlEncode(External.GetRemoteUrl(External.GetRemotingRootUrl("FrontResourcePoint", Html.ActionUrl("~/article", new { titlePinyin = item.TitlePinyin, articleId = item.Id, item.ArticleGroupId }))).AbsoluteUri);%>  
  18.         <item>  
  19.             <title><%=Symbol.HttpUtility.HtmlEncode(item.Title) %></title>  
  20.             <author><%=currentUser.Name %></author>  
  21.             <link><%=url%></link>  
  22.             <pubDate><%=item.ModifyDate.ToString("yyyy-MM-dd HH:mm:ss") %></pubDate>  
  23.             <guid><%=url%></guid>  
  24.             <description><![CDATA[<%=item.Summary %>]]></description>  
  25.             <category><%=getArticleGroupName(item.ArticleGroupId)%></category>  
  26.             <comments><%=url%>#comment</comments>  
  27.         </item>  
  28.         <%} %>  
  29.     </channel>  
  30. </rss>  


看明白了吗?其实就是输出一下xml而已,别把它想得太复杂了。

没明白?再看一次。



文章转自:爱符号  http://www.afuhao.com/article_articleId-177.shtml



原创粉丝点击