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>