# RSS-syötteet...

<datetime class="hidden">2004-03-12T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported, ASP.NET, XML, Web Development -->
[Rob Howard kysyi](http://weblogs.asp.net/RHoward/posts/39662.aspx) Se, miten muut ihmiset tekivät RSS-syötteitä, on ollut minulle ongelma viime aikoina, kun jouduin luomaan RSS-syötteitä olemassa oleviin kohteisiin. Käytin pientä oppituntikokoelmaa tehdäkseni tämän, jonka olen ladannut [täällä](/uploads/RssClasses.zip), Tässä on nopea esimerkki siitä, miten olen kurrenlly käyttämällä näitä (nimet poistettu suojellakseen viattomia) - huomautus, nämä eivät ole EXACT Rss, Lisäsin yhden kentän, xsdDate, 'cos Tarvitsin tätä muunnelmaa varten (ei kuitenkaan murra lukijoita, joilla on tämä ylimääräinen osuus!), päivitän tämän myöhemmin hieman tarkemmin...olennaisesti se läpäisee kohteet esineessä (huonosti) nimeltä ItemFeedStract ja luo merkin jokaiselle...toString() antaa minulle täydellisen RSS-syötteen tähän. Huomaa, että en kirjoittanut RSS-luokituksia alun perin, mutta en löydä linkkiä henkilöön, joka teki - jos olit sinä, jätä kommentti! [Adam Kinney's](http://weblogs.asp.net/akinney) alk. [GotDotNet-työtila](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();
        }
```