新时时彩豹子走势图

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.

新时时彩豹子走势图