2011-01-07 3 views
2

私はthisソリューションを使用して、ASP.NET WebサイトからRSSフィードを読み込んで解析しました。これは完全に機能しました。しかし、別のサイトで試してみると、「システムが 'utf8'エンコーディングをサポートしていないため」というエラーが発生します。私は以下のコードを抽出しました。 "rssDoc.Load(rssStream);"RSS - UTF-8サポートのXMLヘルプ

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 = ""; 
    ... 

エラーがで起こります。 xmlを正しくエンコードする上での助けに感謝します。

答えて

3

うーん

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

を符号化するために、次のコードを使用して、どこ私のコードでそれが行くのでしょうか?他の行も同様に変更する必要がありますか? – Sticky

+1

公開静的文字列ProcessRSS(文字列rssURL、文字列フィード) { WebRequest request = WebRequest.Create(rssURL); WebResponse response = request.GetResponse(); StringBuilder sb =新しいStringBuilder( ""); System.IO.StreamReaderストリーム= new System.IO.StreamReader (response.GetResponseStream()、System.Text.Encoding.GetEncoding( "utf-8")); XmlDocument rssDoc = new XmlDocument(); rssDoc.Load(rssStream); XmlNodeList rssItems = rssDoc.SelectNodes( "rss/channel/item"); string title = ""; string link = ""; – Mahantesh

+0

ビンゴは、魅力のように動作します!どうもありがとう! – Sticky