static void Main(string[] args)
        {
            string rssUrl = "http://feeds.bbci.co.uk/news/world/rss.xml";
            var    xFeed  = Syndication.Load(new Uri(rssUrl));

            if (xFeed is Atom)
            {
                Console.WriteLine("FEED IS ATOM");
            }
            else if (xFeed is Rdf)
            {
                Console.WriteLine("FEED IS RDF");
            }
            else if (xFeed is Rss)
            {
                Console.WriteLine("FEED IS RSS");

                var rss = xFeed as Rss;
                foreach (var item in rss.Channel.Items)
                {
                    Console.WriteLine($"Title: {item.Title}");
                    Console.WriteLine($"Description: {item.Description}");
                    Console.WriteLine();
                }
                Console.WriteLine($"Found {rss.Channel.Items.Count} items.");
                Console.WriteLine();
            }
        }
Exemple #2
0
        static void LoadAndPrintRssRandomNewsItem(string url)
        {
            try
            {
                var sb = Syndication.Load(new Uri(url));
                if (sb is Atom)
                {
                    var atom = sb as Atom;

                    var numItems = atom.Entries.Count;
                    if (numItems > 0)
                    {
                        var rnd  = new Random();
                        var item = atom.Entries[rnd.Next(0, numItems - 1)];
                        PrintAtomItem(atom, item);
                    }
                    return;
                }
                else if (sb is Rdf)
                {
                    var rdf = sb as Rdf;

                    var numItems = rdf.Items.Count;
                    if (numItems > 0)
                    {
                        var rnd  = new Random();
                        var item = rdf.Items[rnd.Next(0, numItems - 1)];
                        PrintRdfItem(rdf, item);
                    }
                    return;
                }
                else if (sb is Rss)
                {
                    var rss = sb as Rss;

                    var numItems = rss.Channel.Items.Count;
                    if (numItems > 0)
                    {
                        var rnd  = new Random();
                        var item = rss.Channel.Items[rnd.Next(0, numItems - 1)];
                        PrintRssItem(rss, item);
                    }
                    return;
                }

                Console.WriteLine("news-of-the-day invalid rss");
            }
            catch (Exception x)
            {
                Console.WriteLine($"news-of-the-day error: {x.Message}");
            }
        }