ASP.NET XML分析错误:找不到元素行号1,列1错误

时间:2011-03-23 11:13:02

标签: asp.net xml

嘿,我发现了一个奇怪的气质页面随机给我以下错误

XML Parsing Error: no element found
Location: http://kj2011/site_2011/nonprofit-database/overview.aspx
Line Number 1, Column 1:

这个页面好像是2周,但截至昨天我随机得到了上述错误。我要删除页面并重新创建错误消失但几小时后会再次出现。我有一些其他模板

http://kj2011/site_2011/nonprofit-database/financial.aspx

其中包含相同的主文件和用户控件,但从不会在overview.aspx页面中获取错误。

任何想法?

12 个答案:

答案 0 :(得分:22)

这听起来像FF错误页面,当FF需要HTML并获得一个空文档时返回。尝试在启用Firebug的情况下查看它,看看Net标签显示的内容 - 也许你有一个好的标题,但没有html。

通常这种事情不是由于ASP.NET错误(因为那些你还有黄页死机页面的文档主体),但更多的是网络错误... < / p>

是否可以尝试从另一台计算机上查看它是否存在问题?

答案 1 :(得分:4)

要找到您遇到此问题的问题。

在你的global.asax文件中添加:

void Application_Error(object sender, EventArgs e)
{
    Exception objErr = Server.GetLastError().GetBaseException();
    string err =    "Error caught in Application_Error event" +                
            "\n \nError Message: " + objErr.Message.ToString()+ 
            "\n \nStack Trace: " + objErr.StackTrace.ToString();

       System.Diagnostics.EventLog.WriteEntry("MYApplication", err, System.Diagnostics.EventLogEntryType.Error);
    Server.ClearError();     
} 

您可以在此处设置断点或将此消息记录到EventLog中。

答案 2 :(得分:3)

出现问题的最可能原因是安全问题!检查文件安全性并确保它可以通过asp.net进程访问。 (ASP.NET Required Access Control Lists (ACLs)),同样服务器上的本地调用也会发生这种情况吗?

另一件事是检查您的页面并确保您的标记中没有一个或多个未关闭的标记。

答案 3 :(得分:3)

我刚刚在我的网站上调试了这个问题。在我的例子中,原因是调用Response.End()。您可以通过将Response.End()作为Page_Load的第一行删除来重新创建错误。

来自MSDN ms524629

  

Response.End方法使Web服务器停止处理脚本并返回当前结果。不处理该文件的其余内容。

就我而言,在将任何内容写入缓冲区之前,都在调用Response.End()。此外,响应标头中没有Content-Type(请参阅附带的Firebug屏幕抓取)。我的猜测是因为这两个因素,Firefox不知道该怎么做,默认情况下它试图将其作为XML文件处理。

在您的情况下,我的猜测是额外的View.aspx文件导致异常中断了页面呈现周期。

http://i.stack.imgur.com/wpLrt.png

http://i.stack.imgur.com/LE59C.png

答案 4 :(得分:2)

仅供将来参考,以防人们从谷歌来到这里

根据这个帖子,有很多不同的原因可以解决这个错误。 在我的情况下,这是由覆盖引起的 override void Render(System.Web.UI.HtmlTextWriter writer)

我在重写函数结束时没有调用base.Render(writer);

答案 5 :(得分:1)

这是外部DLL的问题,它在同一文件夹中创建了一个名为view.aspx的页面,这导致了我们的overview.aspx问题。我们刚刚重命名了该页面,问题就消失了。

答案 6 :(得分:1)

rewrite中的网址的web.config出现问题时,浏览器会发送404错误。尝试对所有rules发表评论,然后再次检查是否出现404错误。

答案 7 :(得分:1)

只是为了涵盖所有可能性。今天我得到了同样的错误,无论我试图访问哪个页面,但这是一个完全不相关的问题。

出于某种原因,Skype在Windows启动时加载到IIS之前并控制了端口80,而不是通常的17112.每当我尝试访问某个页面时,Skype都会返回空响​​应。

您可以简单地关闭Skype并重置IIS,但要确保它再也不会发生,请执行以下操作:

转到:

Skype > Tools > Options > Advanced > Connection

取消选中使用端口80和443替代接入连接

答案 8 :(得分:1)

一段时间当您的目录中有app_offline.html文件时会发生此类错误。当ASP.Net在Web应用程序目录的根目录中找到文件名app_offline.htm时,它会关闭应用程序,从服务器卸载应用程序域,并停止处理该应用程序的任何新传入请求。然后,ASP.NET还会通过发回app_offline.htm文件的内容来响应应用程序中对动态页面的所有请求。默认内容是错误消息。

答案 9 :(得分:1)

在我的情况下,bin文件夹中缺少AjaxControlToolkit.dll。像上面建议的那样,在Application_Error的{​​{1}}方法中添加了一个断点,这让我发现了这一点。

答案 10 :(得分:0)

我遇到了同样的问题,就我而言,我输了';'用语法。

答案 11 :(得分:-1)

当我拿到这个时,App_Themes文件夹丢失了。