![](/img/trans.png)
[英]XmlDocument throwing “An error occurred while parsing EntityName”
[英]“An error occurred while parsing EntityName” while Loading an XmlDocument
我已经编写了一些代码来解析ASP.NET C#应用程序的RSS提要,并且对于我尝试过的所有RSS提要都可以正常工作,直到尝试了Facebook。
我的代码在下面的最后一行失败...
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream rss = response.GetResponseStream();
XmlDocument xml = new XmlDocument();
xml.Load(rss);
...出现错误“解析EntityName时发生错误。第12行,位置53。”
由于整个文件都在一行中,因此很难弄清楚XML文件的位置,但是它直接来自Facebook,并且所有字符似乎都已正确编码,但可能只有一个字符(♥)。
我特别不想重写我的RSS解析器以使用其他方法。 关于如何绕过此错误的任何建议? 有没有办法关闭文件检查?
查看下载的流。 它不包含RSS提要,而是一个HTML页面,其中包含有关不兼容的浏览器的消息。 这是因为在下载这样的URL时,未设置用户代理标头 。 如果这样做,您的代码应该可以工作:
var request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = "MyApplication";
var xml = new XmlDocument();
using (var response = request.GetResponse())
using (var rss = response.GetResponseStream())
{
xml.Load(rss);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.