<dd id="dujzp"><noscript id="dujzp"></noscript></dd>
    <progress id="dujzp"><track id="dujzp"></track></progress>
    1. IT职业教育

      华中地区北大青鸟校区IT集训营

      027-87807717

      北大青鸟首页 > 热门IT技术教程 > .Net技术教程 > > 基础知识之认识和使用 RSS+asp.net

      基础知识之认识和使用 RSS+asp.net

      时间:2012-01-14 10:49 来源:北大青鸟武汉宏鹏鲁广校区作者:admin
      导读:武汉北大青鸟鲁广校区.NET技术 rss是近几年很有用的一个很不错的技术,很多网站老早做了这方面的工作,小农近也为了用户着想,2.0一下,对RSS做点推广工作.以下开始正文: ------------
          武汉北大青鸟鲁广校区.NET技术
          rss是近几年很有用的一个很不错的技术,很多网站老早做了这方面的工作,小农近也为了用户着想,2.0一下,对RSS做点推广工作.以下开始正文:

      ------------------------
      一:关于RSS

      Q:rss是什么?     
      A:rss是在线共享内容的一种简易方式(也叫聚合内容,Really Simple Syndication 的简称,通常在时效性比较强的内容上使用RSS订阅能更快速获取信息,网站提供RSS输出,有利于让用户获取网站内容的新更新,其实是一种能跨平台的服务于用户的简单xml文件协议.

      Q:为什么要RSS?
      A:在这个网络知识繁华的岁月,每个人都希望能快速的知道自己关心的知识,比如我关心x站的x一个栏目,我就可以订阅该栏目的rss,如有文章发布,我就能及时的看到更新...中间的商机我就不再赘言了.

      OK.开始认识RSS吧.


      ----------------------
      二:RSS文件结构
      ----------------------
        以下以RSS2.0为例说明.rss文件的核心就是xml文件,所以先必须符合xml的构架格式.

        它是以 
      <rss version="2.0">...</rss>
      这种Root形式的格式.
        rss有一<channel>的子节点,它包含了文件的内容,在<channel>的里面,有好几个元素用以描述信息.在站点http://backend.userland.com/rss上有详细的内容,比如以下:
        title:标题,经常还有资料的来源信息
        link:web站点的url地址
        description:对网站的一个简单描述.


        每条信息用以<item>元素表示,它被包含在<channel>节点里面,每个<channel>可以有多个<item>,每个<item>节点是真正的节点信息:
        title:列表项目的标题
        link:列表项目的web url地址,
        description:对列表项目的简短说明,
        author:列表信息的作者
        pubDate:发布时间.
       


        我在这里放个例子(信息供参考):

        
      <rss version="2.0">
        <channel>
          <title>5do8--专注.net,PHP</title>
          <link>http://www.5do8.com</link>
          <description>老农如是想,如是说,如是为</description>
          <item>
            <title>有话说</title>
            <link>http://www.5do8.com/blog/news.asp?id=480</link>
            <pubDate>Sun, 14 Dec 2006 21:00:00 GMT</pubDate>
          </item>
        </channel>
      </rss>


        这里,有一个很重要的节点就是pubDate的格式,它必须符合RFC 822的标准,查看细节 .开始于三个字母长度的星期,然后是每月的天数次序,然后是3个字母的月份,然后是年份,然后是具体的时间,后是时区.
        
        详细信息请查看资料,我这里简短介绍.
      ----------------------




      三: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  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("'", "&apos;");
         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" xmlnsc="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.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. 
      告诉我们,你现在想了解什么?

      精彩专题——96%的同学看到这里都会点击下面的专题

      Copyright (c) 2006-2020 武汉宏鹏教育咨询有限公司 版权所有 All Rights Reserved.

      彩图诗句 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>