当前位置: 爱符号 - 所有分类 - Web开发 - ASP.NET - ASP.NET中生成rss.xml你会吗?
ASP.NET中生成rss.xml你会吗? ASP.NETZhongShengChengrss.xmlNiHuiMa?
符号空间 发表于:2013-04-19 06:39:33 阅读(5234)
关键词:rss rss asp.net asp.net C# C#
摘要:rss你了解吗? 你的网站有没有rss?

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的结构:

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


分解说明:

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



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

<%@ Page Title="" Language="C#" %><%
//查询代码,省略,请自己去想哦。
Response.ContentEncoding = Encoding.UTF8;
Response.ContentType = "application/rss+xml";
%><?xml version="1.0" standalone="yes" ?>
<?xml-stylesheet type="text/css" href="<%=External.GetRemoteUrl().AbsoluteUri %>resources/feed/allrss.css"?>
<rss version="2.0">
    <channel>
        <title><%=title %></title>
        <link><%=link %></link>
        <description><%=description %></description>
        <generator>Symbol.CMS 1.0</generator>
        <language>zh-CN</language>
        <copyright><%=External.Setting(Setting.WebsiteTitle)%></copyright>
        <pubDate><%=DateTime.Now.ToString("yyyy-MM-dd HH:mm") %>:00</pubDate>
        <%foreach (Article item in q) {
              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);%>
        <item>
            <title><%=Symbol.HttpUtility.HtmlEncode(item.Title) %></title>
            <author><%=currentUser.Name %></author>
            <link><%=url%></link>
            <pubDate><%=item.ModifyDate.ToString("yyyy-MM-dd HH:mm:ss") %></pubDate>
            <guid><%=url%></guid>
            <description><![CDATA[<%=item.Summary %>]]></description>
            <category><%=getArticleGroupName(item.ArticleGroupId)%></category>
            <comments><%=url%>#comment</comments>
        </item>
        <%} %>
    </channel>
</rss>


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

没明白?再看一次。



声明:以上内容仅代表作者观点,不代表爱符号赞成此内容或立场