XML - 帮助 RSS UTF-8 支持

发布于 2024-10-11 11:22:21 字数 955 浏览 1 评论 0原文

我使用这个解决方案读取并解析来自 ASP.NET 网站的 RSS 提要。这非常有效。但是,当在其他站点上尝试时,会出现错误,因为“系统不支持'utf8'编码”。下面我摘录了我的代码。

    private void Form1_Load(object sender, EventArgs e)
    {
        lblFeed.Text = ProcessRSS("http://buypoe.com/external.php?type=RSS2", "ScottGq");

    }

    public static string ProcessRSS(string rssURL, string feed)
    {
        WebRequest request = WebRequest.Create(rssURL);
        WebResponse response = request.GetResponse();
        StringBuilder sb = new StringBuilder("");
        Stream rssStream = response.GetResponseStream();
        XmlDocument rssDoc = new XmlDocument();
        rssDoc.Load(rssStream);
        XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item");
        string title = "";
        string link = "";
   ...

错误发生在“rssDoc.Load(rssStream);”处。任何有关正确编码 xml 的帮助将不胜感激。

I used this solution to read and parse a RSS feed from an ASP.NET website. This worked perfectly. However, when trying it on another site, an error occurs because "System does not support 'utf8' encoding." Below I have included an extract of my code.

    private void Form1_Load(object sender, EventArgs e)
    {
        lblFeed.Text = ProcessRSS("http://buypoe.com/external.php?type=RSS2", "ScottGq");

    }

    public static string ProcessRSS(string rssURL, string feed)
    {
        WebRequest request = WebRequest.Create(rssURL);
        WebResponse response = request.GetResponse();
        StringBuilder sb = new StringBuilder("");
        Stream rssStream = response.GetResponseStream();
        XmlDocument rssDoc = new XmlDocument();
        rssDoc.Load(rssStream);
        XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item");
        string title = "";
        string link = "";
   ...

The error occurs at "rssDoc.Load(rssStream);". Any help in encoding the xml correctly would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱情眠于流年 2024-10-18 11:22:21

使用以下代码进行编码

 System.IO.StreamReader stream = new System.IO.StreamReader
                    (response.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8"));

use the following code for encoding

 System.IO.StreamReader stream = new System.IO.StreamReader
                    (response.GetResponseStream(), System.Text.Encoding.GetEncoding("utf-8"));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文