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 ;
  }