Отображать изображения в RSS-каналах с помощью класса SyndicationItem
Я создаю RSS-канал с помощью System.ServiceModel.Syndication
public ActionResult RSS()
{
List<C_Node> rssNodes = GetNodeList(takeNum: 20).ToList();
var syndItems = new List<SyndicationItem>();
foreach (var item in rssNodes)
{
var syndItem = new SyndicationItem()
{
Id = item.NodeId.ToString(),
Title = SyndicationContent.CreatePlaintextContent(String.Format("{0}", item.Title)),
Summary = SyndicationContent.CreateHtmlContent(HelperMethods.Truncate(item.Details,400)),
Content = SyndicationContent.CreateHtmlContent(item.Details),
PublishDate = item.PostDate
};
//syndItem.ElementExtensions.Add("content:encoded", "", SyndicationContent.CreateHtmlContent(item.Details));
syndItem.Links.Add(SyndicationLink.CreateAlternateLink(new Uri(ConfigurationManager.AppSettings["SiteUrl"] + Url.Action("Details", "Node", new { id = item.NodeId }))));//Nothing alternate about it. It is the MAIN link for the item.
syndItems.Add(syndItem);
}
return new RssFeed(title: Resources.Site.Title,
items: syndItems,
contentType: "application/rss+xml",
description: Resources.Site.Slogan);
}
мой вопрос, как отображать изображения с каждым элементом приобретения?
2 ответа
Сделано с добавлением этого кода:
syndItem.ElementExtensions.Add(new XElement("image", item.ImageUrl));
Этот код также работает
syndItem.ElementExtensions.Add(new XElement("enclosure", new XAttribute("type", "image/jpeg"), new XAttribute("url", item.ImageUrl).CreateReader());