消费RSS提要的最佳方式

时间:2010-01-14 18:41:55

标签: c# asp.net rss

我目前正在开发一个ASP.NET网站,我想从RSS源中检索数据。我可以轻松地检索我想要的数据并让它显示在一个Repeater控件中。

我的问题是,我收到RSS的博客(Wordpress)使用\n进行换行,我显然无法在HTML中使用。我需要将这些\n替换为<br />代码。

到目前为止我所做的是:

SyndicationFeed myFeed = SyndicationFeed.Load(XmlReader.Create("urltofeed/"));
IEnumerable<SyndicationItem> items = myFeed.Items;
foreach(SyndicationItem item in items)
{
  Feed f = new Feed();
  f.Content = f.ConvertLineBreaks(item.Summary.Text);
  f.Title = item.Title.Text;
  feedList.Add(f);
}
rptEvents.DataSource = feedList;
rptEvents.DataBind();

然后让Feed类具有两个属性:标题和内容以及用\n替换<br />的辅助方法

但是,我不确定这是一种从RSS提要中获取数据的好方法吗?

提前致谢,

4 个答案:

答案 0 :(得分:1)

是否与您正在使用的RSS Feed类型有关?

http://codex.wordpress.org/WordPress_Feeds

答案 1 :(得分:1)

如果您对代码中的所有xml解析不利,您还可以通过xsd运行rss xml架构,并在代码中生成主题和订阅源类。

此类应序列化/反序列化为xml。这可能有点矫枉过正,但在与第三方的标准xml api集成时,它对我来说非常有用。

答案 2 :(得分:0)

如果它没有按照您希望的格式从RSS源返回,那么您别无选择。这绝对不是一个特别糟糕的方式。

答案 3 :(得分:0)

在我看来,这是一种理智的方法。

请记住,RSS是一种数据格式,而不是HTML。用\ n替换\ n以获得你想要的HTML只是偶尔需要做的事情。 (除非你想使用&lt; pre&gt;)

我发现人们在xml结构中填充了太多html,而不是考虑将它们用于除网页之外的其他内容。 UI和数据应该分开。