私は何年も xmlDataReader を使用して RSS を読んでいますが、使用している 2 つのフィードで突然余分な行が導入され、xmlDataReader パーサーが機能しなくなりました。
問題は、ここの 2 行目が最初の行と競合していることです。
<link>http://www.eventjobsearch.co.uk/jobsrss/</link>
<atom:link href="http://www.eventjobsearch.co.uk/jobsrss/" rel="self" type="application/rss+xml"/>
パーサーは、atom:link 要素が link 要素の複製であると考えます。個人的には atom:link 行は必要ありませんが、ストリームを使用しているため、この行を削除したり、コロンを削除したりする方法がわかりません (これで問題が解決します)。
ストリーム内のコロンを削除して、組み込みのパーサーが再び機能するようにするにはどうすればよいですか?
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(WebConfigurationManager.AppSettings["XmlJobsFeedUrl"]);
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)";
WebResponse response = req.GetResponse();
Stream stream = response.GetResponseStream();
XmlTextReader xmlTextReader = new XmlTextReader(stream);
DataSet jobs = new DataSet("Jobs");
jobs.ReadXml(xmlTextReader);