let item_of_xmls xmls =
let f s =
try
match List.find (find_ele s) xmls with
Element (_,_,[PCData s]) -> Some s
| _ -> None
with Not_found -> None
in
let date =
match f "pubdate" with
None -> None
| Some s ->
try Some (Rss_date.parse s)
with _ -> None
in
{ item_title = f "title" ;
item_link = f "link" ;
item_desc = f "description" ;
item_pubdate = date ;
item_author = f "author" ;
item_categories = get_categories xmls ;
item_comments = f "comments" ;
item_enclosure = get_enclosure xmls ;
item_guid = get_guid xmls ;
item_source = get_source xmls ;
}