1

ARSTECHNICA RSS フィードを読み込もうとすると、このエラーがランダムに発生し続けます。次のエラーが発生します。

System.Xml.XmlException:''、16進値0x10は、無効な文字です。行96、位置1129。

XMLの無効な文字が原因であり、削除する必要があることを私は知っています。無効な文字を削除するためにこれを調べました。

    XmlReader readXML;
    readXML = XmlReader.Create(URL);
    SyndicationFeed News= SyndicationFeed.Load(readXML);
    readXML.Close();
    return News;

RSSフィードから無効な文字を削除する方法がわかりません。助言がありますか?

ありがとう

4

1 に答える 1

4

RSS フィードを文字列としてロードし、無効な文字を削除して、ニュース フィードとしてロードすることができます。それが役立つことを願っています:

HttpWebRequest httpWebRequest =  
(HttpWebRequest)WebRequest.Create("http://feeds.arstechnica.com/arstechnica/index");
HttpWebResponse httpWebesponse = (HttpWebResponse)httpWebRequest.GetResponse();

Stream dataStream = httpWebesponse.GetResponseStream();
StreamReader streamreader = new StreamReader(dataStream, Encoding.UTF8);
 string response = streamreader.ReadToEnd();
streamreader.Close();

response = response.Replace((char)0x10, ' ');

XmlTextReader reader = new XmlTextReader(new System.IO.StringReader(response));
reader.Read();

SyndicationFeed News = SyndicationFeed.Load(reader);
于 2012-10-15T16:07:36.907 に答える