2

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

谢谢,-格雷格

4

8 回答 8

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();
}
于 2008-09-15T23:44:50.870 回答
11

如果您使用的是 .NET 3.5,那么您现在可以获得对联合提要(RSS 和 ATOM)的内置支持。查看这篇MSDN 杂志文章以获得很好的介绍

如果您真的想使用正则表达式解析字符串(并且解析 XML 不是正则表达式的用途),获取内容的最简单方法是使用 WebClient 类。它有一个可以直接使用的下载字符串。只需给它您的提要的 URL。查看此链接以获取有关如何使用它的示例

于 2008-09-15T23:32:38.323 回答
2

你想达到什么目的?

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

于 2008-09-17T07:16:49.790 回答
2

我会将提要加载到 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>
}
于 2008-09-15T23:51:19.357 回答
0

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

于 2008-09-15T23:31:02.463 回答
0

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

于 2008-09-15T23:31:02.603 回答
0

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

于 2008-09-15T23:40:28.570 回答
0

The RSS is just xml and can be streamed to disk easily. Go with Darrel's example - it's all you'll need.

于 2008-09-26T13:45:24.067 回答