src/Orchard.Web/Core/Feeds/Rss/RssFeedBuilder.cs
(完整代码) 1KBusing System;
using System.Web.Mvc;
using System.Xml.Linq;
using JetBrains.Annotations;
using Orchard.Core.Feeds.Models;
namespace Orchard.Core.Feeds.Rss {
[UsedImplicitly]
public class RssFeedBuilder : IFeedBuilderProvider, IFeedBuilder {
public FeedBuilderMatch Match(FeedContext context) {
if (context.Format == "rss") {
return new FeedBuilderMatch {
FeedBuilder = this,
Priority = -5
};
}
return null;
}
public ActionResult Process(FeedContext context, Action populate) {
var rss = new XElement("rss");
rss.SetAttributeValue("version", "2.0");
var channel = new XElement("channel");
context.Response.Element = channel;
rss.Add(channel);
populate();
return new RssResult(new XDocument(rss));
}
public FeedItem<TItem> AddItem<TItem>(FeedContext context, TItem item) {
var feedItem = new FeedItem<TItem> {
Item = item,
Element = new XElement("item"),
};
context.Response.Items.Add(feedItem);
context.Response.Element.Add(feedItem.Element);
return feedItem;
}
public void AddProperty(FeedContext context, FeedItem feedItem, string name, string value) {
if (feedItem == null) {
context.Response.Element.Add(new XElement(name, value));
}
else {
feedItem.Element.Add(new XElement(name, value));
}
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
