Ich verwendete this Lösung zum Lesen und Parsen eines RSS-Feeds von einer ASP.NET-Website. Das hat perfekt funktioniert. Wenn es jedoch auf einer anderen Site versucht wird, tritt ein Fehler auf, da "System 'utf8' Codierung nicht unterstützt". Unten habe ich einen Auszug meines Codes eingefügt.XML - Hilfe mit RSS UTF-8-Unterstützung
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 = "";
...
Der Fehler tritt bei "rssDoc.Load (rssStream);". Jede Hilfe bei der korrekten Kodierung des XML wäre willkommen.
Hmmm, und wo in meinem Code würde das gehen? Müssten auch andere Linien geändert werden? – Sticky
öffentliche statische Zeichenfolge ProcessRSS (Zeichenfolge rssURL, Zeichenfolgenvorschub) { WebRequest-Anforderung = WebRequest.Create (rssURL); WebResponse Antwort = request.GetResponse(); StringBuilder sb = neuer StringBuilder (""); System.IO.StreamReader stream = neu 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"); Zeichenfolge title = ""; string link = ""; – Mahantesh
Bingo, funktioniert wie ein Zauber! Vielen Dank! – Sticky