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

时间:2008-09-15 23:28:57

标签: c# xml wcf rss import

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

谢谢, -Greg

8 个答案:

答案 0 :(得分:13)

这应该足以让你去......

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();
}

答案 1 :(得分:11)

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

如果你真的想使用正则表达式解析字符串(并且解析XML不是正则表达式所针对的),获取内容的最简单方法是使用WebClient类。它有一个直接的下载字符串使用。只需为其提供Feed的网址即可。请检查此link for an example of how to use it

答案 2 :(得分:2)

我会将Feed加载到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>
}

答案 3 :(得分:2)

你想要完成什么?

我在使用Feed时发现System.ServiceModel.Syndication类非常有用。

答案 4 :(得分:0)

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

答案 5 :(得分:0)

您可能需要查看此内容:http://www.codeproject.com/KB/cs/rssframework.aspx

答案 6 :(得分:0)

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

答案 7 :(得分:0)

RSS只是xml,可以轻松地流式传输到磁盘。和Darrel的例子一起 - 这就是你所需要的一切。