# Distribuzioni RSS...

<datetime class="hidden">2003-11-25T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported -->
## 

[Distribuzioni RSS...](https://web.archive.org/web/http://www.mostlylucid.co.uk/archive/2003/11/25/658.aspx)

pubblicato su [8:16 PM](https://web.archive.org/web/http://www.mostlylucid.co.uk/archive/2003/11/25/658.aspx)

[Rob Howard ha chiesto.](http://weblogs.asp.net/RHoward/posts/39662.aspx) come altre persone facevano i feed RSS, beh, questo è stato un problema per me di recente, dove ho dovuto generare feed RSS per oggetti esistentiM SK2 Ho usato una piccola raccolta di lezioni per farlo che ioMSC3 ho caricato [Qui.](/uploads/RssClasses.zip), qui'è un rapido esempio di come IM SK2m currenlty usano questi (name rimucchiati per proteggere gli innocentiMSSK4 - notaMSC6 questi non sono esatti RssMST7 ho aggiunto un campoMSL8 xsdDateMS, ♫'cos'ho bisogno di questo per una trasformazione \(\doesn\MST12\non rompere i lettori che hanno quest'addizione extra\MSST13\I\SST14\l'ho aggiornato più tardi con un po' di altre informazioni su questi\MSMST15\essenzialmente passa attraverso gli oggetti in un oggetto \ MST16\badly\MTS17\named ItemFeedStruct e crea un'entry per ciascuno di essiMSS18\doing a ToString\MSS19\ poi mi dà l'intero feed RSS per questo\ MSS20\ Nota\MSR21\ Non ho scritto le classi RSS all'origine\MSP22\ ma posso\MSV23\non trovare il link alla persona che lo ha fatto \MSST24\ se è stato tu \ MSST25\ lasciate un commento\MSTS26\ UPDATE\MSS27\ Apparentemente è \ SST28\s [Adam Kinney's](http://weblogs.asp.net/akinney) da una parte, e dall'altra. [Spazio di lavoro GotDotNet](http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=82651160-90f3-48af-9f99-1e534472f6e8)

```
        private void BindRssControls(ItemFeedStruct theFeed)
        {
            
            string thisUrl = "http://" + Request.Url.Host + Application["AppPath"];
            RSSFeed rFeed = new RSSFeed("Latest  " + cts.ContentTypeName,thisUrl,"Feed for  Communities");
    
            for(int i=0; i < theFeed.items.Length; i++)
            {
                RSSItem rItem;
                if(_contentType != ctl.ForumThreads)
                {
                    rItem = new RSSItem(Server.HtmlEncode(theFeed.items[i].ItemTitle),Server.HtmlEncode(theFeed.items[i].ShortDescription));    
                }
                else
                {
                    string longDesc= theFeed.items[i].LongDescription;
                    if(longDesc.IndexOf(' ') > -1)
                    {
                        longDesc= longDesc.Substring(0,longDesc.LastIndexOf(' '));
                    }
                    rItem = new RSSItem(Server.HtmlEncode(theFeed.items[i].ItemTitle),Server.HtmlEncode(longDesc));    
                }
                rItem.PubDate = theFeed.items[i].ItemValidFrom.ToUniversalTime().ToString("r");
                rItem.XsdDate = theFeed.items[i].ItemValidFrom.ToString("s");
                rItem.Guid = theFeed.items[i].itemId.ToString();
                rItem.Link = Server.HtmlEncode(theFeed.items[i].ViewUrl);
                rItem.Author = Server.HtmlEncode(theFeed.items[i].AuthorName);
                RSSCategoryCollection rCat = new RSSCategoryCollection();
                rCat.Add(new RSSCategory(Server.HtmlEncode(theFeed.items[i].Category)));
                rItem.Categories = rCat;
                rFeed.Items.Add(rItem);
            }
            Response.ContentType = "text/xml";
            Page.EnableViewState = false;
            RssLiteral.Text = rFeed.ToString();
        }
```