Distribuzioni RSS...
pubblicato su 8:16 PM
Rob Howard ha chiesto. 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., 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 da una parte, e dall'altra. Spazio di lavoro GotDotNet
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();
}