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

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

谢谢, -格雷格

【问题讨论】:

    标签: c# xml wcf rss import


    【解决方案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】:

        【讨论】:

          【解决方案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 的示例 - 这就是您所需要的。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2011-06-08
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2022-01-20
                相关资源
                最近更新 更多