C# 读取RSS时出错

C# 读取RSS时出错,c#,.net-3.5,rss,C#,.net 3.5,Rss,当我试图读取一个提要时,总是随机地出现这个错误。我得到以下错误: System.Xml.XmlException:“”是无效的十六进制值0x10 性格第96行,位置1129 我知道这是因为XML中的无效字符,需要将其删除。我确实查看了删除无效字符的方法 XmlReader readXML; readXML = XmlReader.Create(URL); SyndicationFeed News= SyndicationFeed.Load(readXML); re

当我试图读取一个提要时,总是随机地出现这个错误。我得到以下错误:

System.Xml.XmlException:“”是无效的十六进制值0x10 性格第96行,位置1129

我知道这是因为XML中的无效字符,需要将其删除。我确实查看了删除无效字符的方法

    XmlReader readXML;
    readXML = XmlReader.Create(URL);
    SyndicationFeed News= SyndicationFeed.Load(readXML);
    readXML.Close();
    return News;
我不知道如何从RSS提要中删除无效字符。有什么建议吗


谢谢

您可以尝试将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);

您可以尝试将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);

也许这更像是一个编码问题,而不是一个实际的无效字符?尝试显式地将其加载为Utf8内容可能这更像是编码问题,而不是实际的无效字符?尝试明确地将其加载为Utf8内容