我正在使用 .NET 的 SyndicateFeed 来创建 RSS 和 ATOM 提要。不幸的是,我需要在描述元素(SyndicateItem 的 Content 属性)中包含 HTML 内容,并且格式化程序会自动对 HTML 进行编码,但我宁愿将整个描述元素包装在 CDATA 中,而不对 HTML 进行编码。
我的(简单)代码:
var feed = new SyndicationFeed("Title", "Description",
new Uri("http://someuri.com"));
var items = new List<SyndicationItem>();
var item = new SyndicationItem("Item Title", (string)null,
new Uri("http://someitemuri.com"));
item.Content = SyndicationContent.CreateHtmlContent("<b>Item Content</b>");
items.Add(item);
feed.Items = items;
有人知道如何使用 SyndicateFeed 做到这一点吗?我的最后一招是“手动”为提要创建 XML,但我宁愿使用内置的 SyndicateFeed。
这对我有用:
public class CDataSyndicationContent : TextSyndicationContent
{
public CDataSyndicationContent(TextSyndicationContent content)
: base(content)
{}
protected override void WriteContentsTo(System.Xml.XmlWriter writer)
{
writer.WriteCData(Text);
}
}
然后你可以:
new CDataSyndicationContent(new TextSyndicationContent(content, TextSyndicationContentKind.Html))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)