C#實(shí)現(xiàn)RSS訂閱

 今天朋友問我怎么操作RSS,說實(shí)話以前還真沒弄過,甚至就不知道什么是RSS。谷哥了一下才發(fā)現(xiàn)原來RSS就是一個(gè)XML文檔啊

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),唐縣企業(yè)網(wǎng)站建設(shè),唐縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,唐縣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,唐縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。


首先介紹下什么是RSS,來自百度百科:


RSS(簡易信息聚合,也叫聚合內(nèi)容)是一種描述和同步網(wǎng)站內(nèi)容的格式。RSS可以是以下三個(gè)解釋的其中一個(gè): Really Simple Syndication;RDF (Resource Description Framework) Site Summary; Rich Site Summary。但其實(shí)這三個(gè)解釋都是指同一種Syndication的技術(shù)。RSS目前廣泛用于網(wǎng)上新聞?lì)l道,blog和wiki,主要的版本有0.91, 1.0, 2.0。使用RSS訂閱能更快地獲取信息,網(wǎng)站提供RSS輸出,有利于讓用戶獲取網(wǎng)站內(nèi)容的最新更新。網(wǎng)絡(luò)用戶可以在客戶端借助于支持RSS的聚合工具軟件,在不打開網(wǎng)站內(nèi)容頁面的情況下閱讀支持RSS輸出的網(wǎng)站內(nèi)容。


下面就通過這個(gè)規(guī)范來對RSS進(jìn)行解析提取數(shù)據(jù):

 

  1. string rsspath = "http://dabao.im/rss.php";//RSS地址 

  2.         XmlDocument doc = new XmlDocument();//創(chuàng)建文檔對象

  3. try

  4.         { 

  5.             doc.Load(rsspath);//加載XML 包括HTTP:// 和本地

  6.         } 

  7. catch (Exception ex) 

  8.         { 

  9. //異常處理

  10.         } 

  11.         XmlNodeList list = doc.GetElementsByTagName("item"); //獲得項(xiàng)           

  12. foreach (XmlNode node in list) //循環(huán)每一項(xiàng)

  13.         { 

  14.             XmlElement ele = (XmlElement)node; 

  15. string title = ele.GetElementsByTagName("title")[0].InnerText;//獲得標(biāo)題

  16. string link = ele.GetElementsByTagName("link")[0].InnerText;//獲得聯(lián)接

  17. string description = ele.GetElementsByTagName("description")[0].InnerText;//獲得簡介

  18. //添加綁定操作

  19.         } 

 


知識擴(kuò)展

 

【轉(zhuǎn)】RSS規(guī)范
RSS是 Really Simple Syndication的縮寫(對rss2.0而言,是這三個(gè)詞的縮寫,對rss1.0而言則是RDF Site  Summary的縮寫,1.0與2.0走的是兩個(gè)體系)
RSS 基于XML,所有的 RSS 必須遵循w3c網(wǎng)站上公布的XML 1.0  規(guī)范。
在一個(gè)RSS文檔中,根元素是  <rss>,帶有一個(gè)必備屬性version,用以指明該文檔遵循的rss規(guī)范,如果rss文檔遵循本規(guī)范,則version值必須是2.0。
<rss>元素只有一個(gè)子元素,包含關(guān)于頻道的一些信息。頻道(channel)是整個(gè)blog,項(xiàng)(item)指一篇文章或日志(也有稱這為post)。
RSS2.0元素channel的子元素列表

元素描述值域重要性舉例
title頻道名稱必備GoUpstate.com News Headlines
link頻道的URL必備http://www.goupstate.com/
Description頻道的描述必備The latest news from GoUpstate.com, a  Spartanburg Herald-Journal Web site.
language頻道文章所用語言,可用netscape或w3c推薦的列表可選en-us
copyright頻道內(nèi)容的版權(quán)說明可選Copyright 2002, Spartanburg  Herald-Journal
managingEditor責(zé)任編輯的email可選geo@herald.com (George  Matesky)
webMaster負(fù)責(zé)頻道技術(shù)事務(wù)的網(wǎng)站管理員email可選betty@herald.com (Betty  Guernsey)
pubDate頻道內(nèi)容發(fā)布日期,格式遵循RFC822格式(年份可為2們或4位)可選Sat, 07 Sep 2002 00:00:01 GMT
lastBuildDate頻道內(nèi)容最后的修改日期可選Sat, 07 Sep 2002 09:42:31 GMT
category指定頻道所屬的一個(gè)或幾個(gè)類別可選<category>Newspapers</category>
generator生成該頻道的程序名可選MightyInHouse Content System  v2.3
docs指向該RSS文件所用格式說明的URL可選http://blogs.law.harvard.edu/tech/rss
cloudAllows processes to register with a cloud to be  notified of updates to the channel, implementing a lightweight publish-subscribe  protocol for RSS feeds. More info h可選<cloud domain="rpc.sys.com" port="80"  path="/RPC2" registerProcedure="pingMe" protocol="soap"/>
ttl有效期,用以指明該頻道可被緩存的最長時(shí)間分鐘為單位可選<ttl>60</ttl>
p_w_picpath指定一個(gè) GIF或JPEG或PNG圖片,用以與頻道一起顯示可選
rating這個(gè)頻道的分級(主要指成人、限制、兒童等)可選
textInput指定一個(gè)text輸入框供用戶輸入,具體信息及功能未定。可選
skipHours提示新聞聚合器,那些小時(shí)時(shí)段它可以跳過。可選
skipDays提示新聞聚合器,那些天它可以跳過。可選
RSS2.0元素channel的子元素p_w_picpath的子元素列表

元素(Element)描述值域重要性舉例(Example)
url圖片的url必備
title圖片的標(biāo)題,用于http的alt屬性必備
link網(wǎng)站的url(實(shí)際中常以頻道的url代替)必備
width圖片的寬度(象素為單位)最大144,默認(rèn)88可選
height圖片的高度(象素為單位)最大400,默認(rèn)31可選
description用于link的title屬性可選

RSS2.0元素channel的子元素cloud的子元素列表

元素(Element)描述值域重要性舉例(Example)
domainCloud程序所在機(jī)器的域名或IP地址radio.xmlstoragesystem.com
port訪問clound程序所通過的端口80
path程序所在路徑(不一定是真實(shí)路徑)/RPC2
registerProcedure注冊的可提供的服務(wù)或過程xmlStorageSystem.rssPleaseNotify
protocol協(xié)議xml-rpc, soap , http-post 之一xml-rpc

RSS2.0元素channel的子元素textInput的子元素列表

元素(Element)描述值域重要性舉例(Example)
titleSubmit按鈕的標(biāo)簽必備
description解釋text輸入?yún)^(qū)必備
nameText area對象的名字必備
link處理提交的請求的cgi程序必備

 

網(wǎng)站標(biāo)題:C#實(shí)現(xiàn)RSS訂閱
路徑分享:http://muchs.cn/article20/gedhjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、電子商務(wù)、企業(yè)網(wǎng)站制作網(wǎng)站營銷、手機(jī)網(wǎng)站建設(shè)全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)