使用 SyndicationItem class 在 rss 提要中显示图像
display images in rss feeds using SyndicationItem class
我使用 System.ServiceModel.Syndication
创建 rss 提要
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);
}
我的问题是如何显示每个联合项目的图像?
完成添加此代码:
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());
我使用 System.ServiceModel.Syndication
创建 rss 提要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);
}
我的问题是如何显示每个联合项目的图像?
完成添加此代码:
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());