gpt4 book ai didi

asp.net - SyndicationFeed : Content as CDATA?

转载 作者:行者123 更新时间:2023-12-03 18:24:48 25 4
gpt4 key购买 nike

我正在使用 .NET 的 SyndicationFeed 创建 RSS 和 ATOM 提要。不幸的是,我需要 description 元素(SyndicationItem 的 Content 属性)中的 HTML 内容,并且格式化程序会自动对 HTML 进行编码,但我宁愿将整个 description 元素包装在 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;

有人知道我如何使用 SyndicationFeed 做到这一点吗?我最后的手段是“手动”为提要创建 XML,但我更愿意使用内置的 SyndicationFeed。

最佳答案

这对我有用:

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))

关于asp.net - SyndicationFeed : Content as CDATA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1118409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com