Using Cameleon RSS Feed Parser

Looking for a way to parse RSS (or ATOM) feeds with OCaml, I performed a Google search on "ocaml rss":

Here is how to begin to use it...

Installing on Ubuntu/Debian

I assume the user has all de basic OCaml installation. Installing the RSS feed parser requires:

    sudo apt-get install libcameleon-ocaml-dev cameleon
  

Getting a sample RSS file

Let's get the RSS2 file of OCamlCore:

    wget http://planet.ocamlcore.org/rss20.xml
  
The file is saved as "rss20.xml" use the -O option of wget if you want another saving name.

Using it in the toplevel

The user needs to load several modules:

       Objective Caml version 3.11.2


    #use "topfind"                  ;;
    #require "unix"                 ;;
    #require "cameleon"             ;;
    #require "cameleon.config_file" ;;
    #require "cameleon.configwin"   ;;
    #require "cameleon.ffind"       ;;
    #require "cameleon.gdir"        ;;
    #require "cameleon.gmylist"     ;;
    #require "cameleon.gstuff"      ;;
    #require "cameleon.okey"        ;;
    #require "cameleon.report"      ;;
    #load "/usr/lib/ocaml/cameleon/rss.cma";;
  
Load the XML RSS file (Pretty Long output)
    let my_channel = Rss.channel_of_file "rss20.xml";;
  
Get the list of items (Pretty Long output)
    let items = my_channel.Rss.ch_items);;
  
Grab the first item
    List.hd items;;
  
Get the title of that first item
    (List.hd items).Rss.item_title;;
  

Note

Please note that it is a quick and dirty way to do it, the reader is encouraged to suggest cleaner ways by commenting this post.