簡體   English   中英

我怎樣才能開始制作C#RSS閱讀器?

[英]How can I get started making a C# RSS Reader?

我一直想制作RSS閱讀器一段時間(只是為了好玩),但我對從哪里開始沒有任何想法。 我對RSS一無所知。 有沒有關於RSS的好教程以及如何在應用程序中實現它(不是關於如何制作RSS閱讀器的教程,這太簡單了)。

看到

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框架中有很多東西可以完成解析和表示提要的工作; 例如,編寫一個包含提要URL並下載提要並打印所有項目的標題和作者的30行應用程序並不難。 (適用於RSS 2.0(不是其他人!)或Atom。)

如果您專注於創建RSS閱讀器而不是RSS解析邏輯,您可能希望使用CodePlex.com上名為Argotic的免費RSS庫委派創建/閱讀RSS源。

正如另一張海報推薦的那樣,SyndicationFeed類和Argotic是最好的選擇。

如果性能是個問題,那么SyndicationFeed類會更好。 我將它的基准測試比我的硬件上的Argotic快9倍。

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

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

我建議你用這個

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

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

我一直在使用RSS,並且發現使用RssSyndication類通常更容易解析ATOM提要。 對於RSS 2.0規范,如果feed實際上是有效的,那么從URI加載XDocument同樣容易,並根據需要解析數據。

考慮閱讀RSS Bandit的源代碼,這是一個C#Winforms(可能很快就是WPF)的RSS閱讀器。

通過單步執行應用程序,您應該獲得一些好主意。

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

您需要使用RSS XML規范: http//cyber.law.harvard.edu/rss/rss.html

如果你在不使用任何庫的情況下編寫全功能閱讀器,也要認為有ATOM提要解析。

RSS本身非常簡單。 只是一個頻道的XML描述,以及該頻道上的項目列表(可能附有每個項目的文件)。 跟蹤更新有點棘手,管理編碼和發布時間/日期也很棘手。 真正的噩夢是不同網站使用的RSS格式的所有不同“解釋”。 如果您真的在編寫一個feed閱讀器,那么您可能希望從解析Atom開始,因為它是一種更標准化的格式,可能會讓您更快,並且設計好,可以從中分支到RSS。 但實際上,你應該只使用一個RSS解析庫 - 最好是最兼容的一個(但不要為RSS庫付費;它們很常見)。

RSS是一種XML方言,因此如果您了解XML,則可以解決部分問題。 如果您想要開始項目,請考慮查看已經存在的開源項目:

http://www.codeplex.com/site/search?projectSearchText=RSS%20Reader

CodePlex(上圖)是一個很好的起點,因為大多數項目都在C#中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM