C#解讀RSS

來源:互聯網
上載者:User
 RSS是什麼,現在可以見到很多RSS訂閱,RSS是什麼,RSS實際就是一個符合一定規範的XML文檔。由於符合規範,那麼大家就都可以通過這個規範來對RSS來進行解析,提取RSS提供的資料了。

  RSS解析部分:
               string rss = this.textBox1.Text;//RSS地址

            XmlDocument doc = new XmlDocument();//建立文檔對象
            try
            {
                doc.Load(rss);//載入XML 包括HTTP:// 和本地
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);//異常處理
            }
            XmlNodeList list = doc.GetElementsByTagName("item"); //獲得項           

            foreach (XmlNode node in list) //迴圈每一項
            {
                XmlElement ele = (XmlElement)node;
                string title = ele.GetElementsByTagName("title")[0].InnerText;//獲得標題
                string link = ele.GetElementsByTagName("link")[0].InnerText;//獲得聯結
                //添加到列表內
                ListViewItem item = new ListViewItem();
                item.Text = title;
                item.Tag = link;
                this.listView1.Items.Add(item);
                //添加結束
            }

 

 

      首先要說的就是RSS規範:RSS 2.0規範 channel部分

title 頻道名稱 必須
link 頻道的URL 必須
Description 頻道的描述 必須
language 頻道文章所用語言 可選
copyright 頻道著作權說明 可選
managingEditor 管理者的email 可選
webMaster 網站管理員email 可選
pubDate 頻道發布日期 可選 (注意時間必須是嚴格符合RFC-822)
lastBuildDate 頻道最後修改日期 可選
category 頻道類別 可選
generator 產生該頻道的程式名 可選
docs 該RSS檔案的URL 可選
ttl 有效期間 可選
image 頻道表徵圖 可選
rating 頻道等級 可選
skipHours 可跳過的小時 可選
skipDays 可跳過的天 可選

item部分

title 標題 必須
link 該文章的連結 必須
description 描述或稱為摘要 必須
author 作者的email 可選
category 該文章的分類 可選
comments 該文章評論的連結 可選
enclosure 該文章附帶的檔案 可選
guid 該文章唯一的識別標誌(目前沒有規範,一般使用文章連結資料表示) 可選
pubDate 發表時間 可選
source 文章來源連結 可選

例子:

    <rss version="2.0">
    <channel>
    <title>D.C Life</title>
    <link>http://blog.it580.com/</link>
    <description>David && Cindy || XIAMI &&XlAMl.</description>
    <language>zh-cn</language>
    <pubdate>Tue, 10 Jun 2003 04:00:00 GMT</pubdate>
    <lastbuilddate>Tue, 10 Jun 2003 09:41:01 GMT</lastbuilddate>
    <generator>Xiami Edit</generator>
    <managingeditor>editor@name.com</managingeditor>
    <webmaster>webmaster@name.com</webmaster>
    <item>
    <title>例子檔案</title>
    <link>
    http://blog.it580.com/Sample_files.php
    </link>
    <description>
    這是一個例子檔案
    </description>
    <pubdate>Tue, 03 Jun 2003 09:39:21 GMT</pubdate>
    <guid>
    http://blog.it580.com/Sample_files.php
    </guid>
    </item>
    </channel>
    </rss> 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.