如何在 C# 中导入原始 RSS 提要?

Posted

技术标签:

【中文标题】如何在 C# 中导入原始 RSS 提要?【英文标题】:How can I import a raw RSS feed in C#? 【发布时间】:2010-09-09 05:41:27 【问题描述】:

有人知道将原始 XML RSS 提要导入 C# 的简单方法吗?我正在寻找一种将 XML 作为字符串获取的简单方法,以便我可以使用正则表达式对其进行解析。

谢谢, -格雷格

【问题讨论】:

【参考方案1】:

这应该足以让你继续前进......

using System.Net 

WebClient wc = new WebClient();

Stream st = wc.OpenRead(“http://example.com/feed.rss”);

using (StreamReader sr = new StreamReader(st)) 
   string rss = sr.ReadToEnd();

【讨论】:

或者直接调用 wc.DownloadString("feed url");【参考方案2】:

如果您使用的是 .NET 3.5,您现在可以获得对联合源(RSS 和 ATOM)的内置支持。看看这个MSDN Magazine Article for a good introduction。

如果您真的想使用正则表达式解析字符串(并且解析 XML 不是正则表达式的用途),获取内容的最简单方法是使用 WebClient 类。它有一个直接下载字符串采用。只需给它您的提要的 URL。检查这个link for an example of how to use it。

【讨论】:

有趣的文章。我需要开始研究 WCF 和 Syndication API。【参考方案3】:

我会将提要加载到 XmlDocument 中并使用 XPATH 而不是正则表达式,如下所示:

XmlDocument doc = new XmlDocument();

HttpWebRequest request = WebRequest.Create(feedUrl) as HttpWebRequest;

using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)

    StreamReader reader = new StreamReader(response.GetResponseStream());
    doc.Load(reader);

    <parse with XPATH>

【讨论】:

【参考方案4】:

你想完成什么?

我发现System.ServiceModel.Syndication 类在处理提要时非常有用。

【讨论】:

【参考方案5】:

你可能想看看这个:http://www.codeproject.com/KB/cs/rssframework.aspx

【讨论】:

【参考方案6】:

XmlDocument(位于 System.Xml 中,如果没有为您添加,则需要添加对 dll 的引用)用于将 xml 导入 C#。此时,只需调用以字符串格式提供内部 Xml 的 InnerXml 属性,然后使用正则表达式进行解析。

【讨论】:

【参考方案7】:

获取 RSS 提要作为请求字符串的最佳方法是使用 System.Net.HttpWebRequest 类。设置 HttpWebRequest 的参数(URL 等)后,调用 HttpWebRequest.GetResponse() 方法。从那里,您可以使用 WebResponse.GetResponseStream() 获取流。然后,您可以将该流包装在 System.IO.StreamReader 中,并调用 StreamReader.ReadToEnd()。瞧。

【讨论】:

【参考方案8】:

RSS 只是 xml,可以轻松地流式传输到磁盘。使用 Darrel 的示例 - 这就是您所需要的。

【讨论】:

以上是关于如何在 C# 中导入原始 RSS 提要?的主要内容,如果未能解决你的问题,请参考以下文章

C# - 如何从 xml 中获取特定值

如何编写要在 SAS 中导入的原始数据

使用 C# 在 .net 中阅读 rss 提要的最佳方式 [关闭]

如何制作“空”的 RSS 提要

在 PowerPivot 中导入自定义 Atom 提要

如何在WordPress博客上显示任何RSS提要