All Projects → arminreiter → FeedReader

arminreiter / FeedReader

Licence: MIT license
C# RSS and ATOM Feed reader library. Supports RSS 0.91, 0.92, 1.0, 2.0 and ATOM. Tested with multiple languages and feeds.

Programming Languages

HTML
75241 projects
C#
18002 projects

Projects that are alternatives of or similar to FeedReader

webfeed
A dart package for parsing RSS & Atom feed
Stars: ✭ 92 (-58.37%)
Mutual labels:  atom, rss, rss-reader, feed-reader, atom-reader
reader
A Python feed reader library.
Stars: ✭ 290 (+31.22%)
Mutual labels:  rss, rss-reader, feed-reader, rss-feed, atom-feed
Feedreader
C# RSS and ATOM Feed reader library. Supports RSS 0.91, 0.92, 1.0, 2.0 and ATOM. Tested with multiple languages and feeds.
Stars: ✭ 180 (-18.55%)
Mutual labels:  atom, rss, rss-reader, feed-reader, rss-feed
Gofeed
Parse RSS, Atom and JSON feeds in Go
Stars: ✭ 1,762 (+697.29%)
Mutual labels:  atom, rss, rss-feed, atom-feed
Pluto
pluto gems - planet feed reader and (static) website generator - auto-build web pages from published web feeds
Stars: ✭ 174 (-21.27%)
Mutual labels:  atom, rss, rss-reader, feed-reader
arsse
The clean & modern RSS server that doesn't give you any crap. Mirror of main repository at https://code.mensbeam.com/MensBeam/arsse. Please direct your issues there.
Stars: ✭ 15 (-93.21%)
Mutual labels:  rss, feed-reader, rss-feed, atom-feed
buran
Bidirectional, data-driven RSS/Atom feed consumer, producer and feeds aggregator
Stars: ✭ 27 (-87.78%)
Mutual labels:  atom, rss, rss-reader, feed-reader
Gorss
Go Terminal Feed Reader
Stars: ✭ 191 (-13.57%)
Mutual labels:  atom, rss, rss-reader, rss-feed
Feedbag
Ruby's favorite feed auto-discovery library/tool
Stars: ✭ 115 (-47.96%)
Mutual labels:  atom, rss, rss-feed
Feedme.js
RSS/Atom/JSON feed parser
Stars: ✭ 132 (-40.27%)
Mutual labels:  atom, rss, feed-reader
tidyRSS
An R package for extracting 'tidy' data frames from RSS, Atom, JSON and geoRSS feeds
Stars: ✭ 62 (-71.95%)
Mutual labels:  rss, rss-feed, atom-feed
Discord feedbot
Moved to https://gitlab.com/ffreiheit/discord_feedbot
Stars: ✭ 67 (-69.68%)
Mutual labels:  atom, rss, rss-feed
Liferea
Liferea (Linux Feed Reader), a news reader for GTK/GNOME
Stars: ✭ 612 (+176.92%)
Mutual labels:  atom, rss, rss-reader
JARR
JARR is a web news aggregator.
Stars: ✭ 99 (-55.2%)
Mutual labels:  atom, rss, feed-reader
Brief
RSS reader extension for Firefox
Stars: ✭ 184 (-16.74%)
Mutual labels:  atom, rss, feed-reader
Node Feedsub
Subscribes to RSS/Atom/JSON feeds and notifies on new items.
Stars: ✭ 170 (-23.08%)
Mutual labels:  atom, rss, feed-reader
Feedkit
An RSS, Atom and JSON Feed parser written in Swift
Stars: ✭ 895 (+304.98%)
Mutual labels:  atom, rss, rss-reader
vue-rss-feed
Embed RSS Feeds in your Vue web app
Stars: ✭ 37 (-83.26%)
Mutual labels:  rss, rss-reader, rss-feed
RSS-to-Telegram-Bot
A Telegram RSS bot that cares about your reading experience
Stars: ✭ 482 (+118.1%)
Mutual labels:  rss, rss-reader, feed-reader
baRSS
Menu Bar RSS reader for macOS
Stars: ✭ 39 (-82.35%)
Mutual labels:  atom, rss, rss-reader

FeedReader

FeedReader is a .net library used for reading and parsing RSS and ATOM feeds. Supports RSS 0.91, 0.92, 1.0, 2.0 and ATOM. Developed because tested existing libraries do not work with different languages, encodings or have other issues. Library tested with multiple languages, encodings and feeds.

FeedReader library is available as NuGet package: https://www.nuget.org/packages/CodeHollow.FeedReader/

Usage

The simplest way to read a feed and show the information is:

    var feed = await FeedReader.ReadAsync("https://arminreiter.com/feed");

    Console.WriteLine("Feed Title: " + feed.Title);
    Console.WriteLine("Feed Description: " + feed.Description);
    Console.WriteLine("Feed Image: " + feed.ImageUrl);
    // ...
    foreach(var item in feed.Items)
    {
        Console.WriteLine(item.Title + " - " + item.Link);
    }

There are some properties that are only available in e.g. RSS 2.0. If you want to get those properties, the property "SpecificFeed" is the right one:

    var feed = await FeedReader.ReadAsync("https://arminreiter.com/feed");

    Console.WriteLine("Feed Title: " + feed.Title);
            
    if(feed.Type == FeedType.Rss_2_0)
    {
        var rss20feed = (Feeds.Rss20Feed)feed.SpecificFeed;
        Console.WriteLine("Generator: " + rss20feed.Generator);
    }

If the url to the feed is not known, then you can use FeedReader.GetFeedUrlsFromUrl(url) to parse the url from the html webpage:

    string url = "arminreiter.com";
    var urls = FeedReader.GetFeedUrlsFromUrl(url);
            
    string feedUrl;
    if (urls.Count() < 1) // no url - probably the url is already the right feed url
        feedUrl = url;
    else if (urls.Count() == 1)
        feedUrl = urls.First().Url;
    else if (urls.Count() == 2) // if 2 urls, then its usually a feed and a comments feed, so take the first per default
        feedUrl = urls.First().Url;
    else
    {
        // show all urls and let the user select (or take the first or ...)
        // ...
    }

    var readerTask = FeedReader.ReadAsync(feedUrl);
    readerTask.ConfigureAwait(false);

    foreach (var item in readerTask.Result.Items)
    {
        Console.WriteLine(item.Title + " - " + item.Link);
        // ...
    }

The code contains a sample console application: https://github.com/codehollow/FeedReader/tree/master/FeedReader.ConsoleSample

Specifications

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].