RSS 提要 - 使用 WriteTo 更新现有的 TextSyndicationContent
RSS feed- Using WriteTo to update an existing TextSyndicationContent
我正在使用 var feed = new SyndicationFeed(...){...};
帮助 an open-source project. In it, we are getting a feed(使用 Chrome 打开),其中包含不同的文章标题及其名称。
After that 我可以使用 foreach(var item in feed.Items){}
遍历提要,并且可以在其中使用 item.Title.Text
& item.Authors[0].Name
.[= 获取标题和名称字符串19=]
问题是这些属性是 read-only,但我希望能够在标题 属性 的末尾添加一些文本。因此,更新标题的唯一方法(因为它是 TextSyndicationContent
类型)似乎是使用 item.Title.WriteTo()
如何在不创建新 RSS 提要的情况下使用 WriteTo 更新现有标题的值?另外,如何获取 outerElementName 和 outerElementNamespace?
我已经添加了该功能要求我输入的内容的屏幕截图。
outerElementName "title" 和 outerElementNamespace "组吗?如果是这样,我可以在 XMLWriter 中放入什么来更新 title 的值?
Title
属性 可以在项目上设置。
创建 TextSyndicationContent
的新实例并复制带有附加文本的标题。
//...
string newTitleText = item.Title.Text + "Some extra text content";
if (!string.IsNullOrWhiteSpace(item.Title.Type)) {
string type = item.Title.Type == "text" ? "Plaintext" : item.Title.Type;
TextSyndicationContentKind textKind = (TextSyndicationContentKind)
Enum.Parse(typeof(TextSyndicationContentKind), type, ignoreCase: true);
item.Title = new TextSyndicationContent(newTitleText, textKind);
} else {
item.Title = new TextSyndicationContent(newTitleText);
}
//...
我正在使用 var feed = new SyndicationFeed(...){...};
帮助 an open-source project. In it, we are getting a feed(使用 Chrome 打开),其中包含不同的文章标题及其名称。
After that 我可以使用 foreach(var item in feed.Items){}
遍历提要,并且可以在其中使用 item.Title.Text
& item.Authors[0].Name
.[= 获取标题和名称字符串19=]
问题是这些属性是 read-only,但我希望能够在标题 属性 的末尾添加一些文本。因此,更新标题的唯一方法(因为它是 TextSyndicationContent
类型)似乎是使用 item.Title.WriteTo()
如何在不创建新 RSS 提要的情况下使用 WriteTo 更新现有标题的值?另外,如何获取 outerElementName 和 outerElementNamespace?
我已经添加了该功能要求我输入的内容的屏幕截图。
outerElementName "title" 和 outerElementNamespace "组吗?如果是这样,我可以在 XMLWriter 中放入什么来更新 title 的值?
Title
属性 可以在项目上设置。
创建 TextSyndicationContent
的新实例并复制带有附加文本的标题。
//...
string newTitleText = item.Title.Text + "Some extra text content";
if (!string.IsNullOrWhiteSpace(item.Title.Type)) {
string type = item.Title.Type == "text" ? "Plaintext" : item.Title.Type;
TextSyndicationContentKind textKind = (TextSyndicationContentKind)
Enum.Parse(typeof(TextSyndicationContentKind), type, ignoreCase: true);
item.Title = new TextSyndicationContent(newTitleText, textKind);
} else {
item.Title = new TextSyndicationContent(newTitleText);
}
//...