Another way to build a RSS system in SharePoint that I would like to share My approach was to use a custom User Control in a ASPX Page

ASPX

Add this to your control

 
<%@ OutputCache Duration="120" VaryByParam="*" %>
 
Code Behind

Build your query, you must change “YourDateField”  

protected SPQuery BuidQryForYourPages()
 {
     SPQuery qry = new SPQuery();
     qry.ViewAttributes += “Scope=\”Recursive\”";
  
      
 
string camlQry = String.Empty;
     qry.Query = camlQry;
  
      
 
try
     {
         camlQry =
         “<OrderBy>
             <FieldRef Name=’YourDateField’
                Ascending=’False’ /></OrderBy>”;
         qry.Query = camlQry;
     }
     catch (Exception)
     {
         throw;
     }
     qry.RowLimit = 10;
     return qry;
 }

Code for RSS 2.0 Standards

You must change “/YourUrlHost” e.g. http://contoso/YourUrlHost and all of “elem[]” matching your fields in the List

protected void GetYourRss()
{
    readonly string urlHost = String.Format(“{0}//{1}:{2}”,
        SPContext.Current.Site.Protocol,
            SPContext.Current.Site.HostName,
                SPContext.Current.Site.Port);
    try
    {
        string URL = urlHost + “/YourUrlHost”;
  
         
 
Response.Clear();
        Response.ContentType = “text/xml”;
        XmlTextWriter TextWriter = new XmlTextWriter
            (Response.OutputStream, Encoding.UTF8);
        TextWriter.WriteStartDocument();
  
         
 
//Below tags are mandatory rss tag
        TextWriter.WriteStartElement(“rss”);
        TextWriter.WriteAttributeString(“version”, “2.0″);
  
         
 
// Channel tag will contain RSS feed details
        TextWriter.WriteStartElement(“channel”);
        TextWriter.WriteElementString
            (“title”, “JOAO TITO LIVIO”);
        TextWriter.WriteElementString
            (“link”, “http://http://msmvps.com/blogs/officept/default.aspx”);
        TextWriter.WriteElementString
            (“description”, “Enjoy your RSS”);
        TextWriter.WriteElementString
            (“copyright”, “Copyright 2011 Joao Tito Livio. All rights reserved.”);
  
         
 
using (SPSite site = new SPSite(URL))
        {
            using (SPWeb web = site.OpenWeb())
            {
                SPList pagesList = web.Lists["Pages"];
                SPListItemCollection lstPaginasl =
                    pagesList.GetItems(BuidQryForYourPages());
                for (int z = 0; z < lstPaginasl.Count; z++)
                {
                    SPItem elem = lstPaginasl[z];
                    TextWriter.WriteStartElement(“item”);
                    if (elem["YourTitleItem"] != null)
                        TextWriter.WriteElementString(“title”,
                            elem["YourTitleItem"].ToString());
                    if (elem["YourDescriptionItem"] != null)
                        TextWriter.WriteElementString(“description”,
                            elem["YourDescriptionItem"].ToString());
                    if (elem["YourLinkItem"] != null)
                        TextWriter.WriteElementString(“link”,
                            String.Format(“{0}/Pages/{1}”, URL,
                                elem["YourLinkItem"]));
                    if (elem["YourPubDate"] != null)
                        TextWriter.WriteElementString(“pubDate”,
                            elem["YourPubDate"].ToString());
                    TextWriter.WriteEndElement();
                }
            }
        }
  
         
 
// Close all tags
        TextWriter.WriteEndElement();
        TextWriter.WriteEndElement();
        TextWriter.WriteEndDocument();
        TextWriter.Flush();
        TextWriter.Close();
        Response.End();
    }
    catch (Exception ex)
    {
        throw new Exception(ex.ToString());
    }
}

Page Load

Call your Method
Hope that help you