2009-02-23 68 views
51

我一直想做一段時間的RSS閱讀器(只是爲了好玩),但我從沒有絲毫的想法,從哪裏開始。我不瞭解RSS的任何內容。有沒有關於RSS的好教程,以及如何在應用程序中實現它(而不是關於如何製作RSS閱讀器的教程,這太容易了)。如何開始製作C#RSS閱讀器?

回答

51

http://msdn.microsoft.com/en-us/library/bb943474.aspx

http://msdn.microsoft.com/en-us/library/system.servicemodel.syndication.syndicationfeed.aspx

http://msdn.microsoft.com/en-us/library/bb943480.aspx

基本上沒有在.NET 3.5框架,做解析和代表飼料的繁重工作了很多東西;例如,編寫一個30行的應用程序並不難,例如,該應用程序需要一個提要URL並下載該提要並打印所有項目的標題和作者。 (Works的RSS 2.0(不是別人)或Atom!)

+2

參見例如http://lorgonblog.spaces.live.com/blog/cns!701679AD17B6D310!164.entry的頂部有一個10行代碼片段(F#,但大多隻是調用框架API),它們會讓你從Uri打印Feed在大約30秒的編碼。 – Brian 2009-02-23 01:36:14

0

如果你寫一個全功能的閱讀器,而無需使用任何庫,也認爲有ATOM提要解析。

11

如果你正專注於對RSS的分析邏輯創建RSS閱讀器,而不是,你可能想委託創建/讀取RSS使用該免費的RSS庫上CodePlex.com

稱爲 Argotic
0

RSS本身是飼料真的很簡單。只是頻道的XML描述,以及該頻道上的項目列表(可能附有每個項目的文件)。跟蹤更新有點棘手,管理編碼和發佈時間/日期也很棘手。真正的噩夢是不同網站使用的RSS格式的所有不同「解釋」。如果你真的正在編寫一個feed閱讀器,你可能需要先解析Atom,因爲它是一個更標準化的格式,並且可能會讓你更快,並有一個好的設計可以從RSS分支出來。但實際上,您應該只使用一個RSS解析庫 - 最好是可用的最兼容的解析庫(但不要爲RSS庫支付費用;它們很普通)。

6

作爲另一張海報推薦,SyndicationFeed類和Argotic是最好的選擇。

如果性能問題,SyndicationFeed類將會​​更好。我將其基準爲在我的硬件上比Argotic快大約9倍。

我在SyndicationFeed類中遇到的問題是它能夠成功解析來自'net'的任何隨機提要。令人驚訝的是,它經常失敗並出現XmlException。

對於我的用途,我堅持與Argotic。畢竟,它是開源的,所以我可以隨時做出改變,如果我需要的話。

0

請考慮閱讀RSS Bandit的源代碼,該代碼是C#Winforms(可能即將推出的WPF)RSS閱讀器。

你應該通過逐步完成應用程序來獲得一些好點子。

1

我建議你使用這個

RSS.NET是一個開源.NET類庫的RSS提要。它提供了一個可重用的對象模型來解析和編寫RSS提要。它完全兼容RSS版本0.90,0.91,0.92和2.0.1,實現所有構造。

由於標準企業聯合供稿不支持其他版本的rss。

0

我一直在使用RSS相當多,並發現ATOM提要通常更容易使用RssSyndication類進行解析。對於RSS 2.0規範,如果提要實際上是有效的,那麼從URI加載XDocument並根據需要解析數據就很容易。

0

如果你不能使用System.ServiceModel.Syndication.Syndicationfeed,例如因爲你正在使用PCL(可移植類庫)。我寫了一個:FeedParserPCL。你可以在NuGet找到它。