【问题标题】:ASP.NET XML Parsing Error: no element found Line Number 1, Column 1 ErrorASP.NET XML 解析错误:找不到元素第 1 行,第 1 列错误
【发布时间】:2011-03-23 11:13:01
【问题描述】:

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

XML 解析错误:未找到元素
位置:http://kj2011/site_2011/nonprofit-database/overview.aspx
第 1 行,第 1 列:

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

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

它具有相同的主文件和用户控件,但永远不会仅在overview.aspx 页面出现错误。

有什么想法吗?

【问题讨论】:

  • bump added bounty 如果有人有任何想法,仍然有这个奇怪的问题的问题
  • 你能发布一些代码示例吗?

标签: asp.net xml


【解决方案1】:

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

通常这种事情不是由于 ASP.NET 错误(因为您仍然有黄屏死机页面的文档正文),而更像是网络错误...

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

【讨论】:

    【解决方案2】:

    找到您遇到的问题。

    在你的 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();     
    } 
    

    您可以在此处设置断点或将此消息记录到事件日志中。

    【讨论】:

      【解决方案3】:

      如果出现问题,最可能的原因是安全问题!检查文件安全性并确保它可以被 asp.net 进程访问。 (ASP.NET Required Access Control Lists (ACLs)),这是否也发生在同一台服务器上的本地调用中?

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

      【讨论】:

        【解决方案4】:

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

        来自 MSDN ms524629:

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

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

        在你的情况下,我猜是额外的 View.aspx 文件导致了一个中断页面渲染周期的异常。

        【讨论】:

          【解决方案5】:

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

          根据这个线程,得到这个错误的原因有很多。 在我的情况下,这是由覆盖引起的 override void Render(System.Web.UI.HtmlTextWriter writer)

          而且我没有在覆盖函数的末尾调用base.Render(writer);

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              【解决方案7】:

              web.config中的url的rewrite出现问题时——浏览器发送404错误。尝试评论所有rules并再次检查是否出现404错误。

              【讨论】:

                【解决方案8】:

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

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

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

                转到:

                Skype > Tools > Options > Advanced > Connection

                并取消选中 使用端口 80 和 443 作为传入连接的替代选择

                【讨论】:

                  【解决方案9】:

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

                  【讨论】:

                    【解决方案10】:

                    在我的情况下,bin 文件夹中缺少 AjaxControlToolkit.dll。按照上面的建议,在global.asaxApplication_Error 方法中添加断点让我找到了答案。

                    【讨论】:

                      【解决方案11】:

                      我遇到了同样的问题,就我而言,我丢失了一个';'在语法中。

                      【讨论】:

                        【解决方案12】:

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

                        【讨论】:

                          猜你喜欢
                          • 1970-01-01
                          • 1970-01-01
                          • 2014-09-14
                          • 2013-06-03
                          • 2011-11-08
                          • 1970-01-01
                          • 1970-01-01
                          • 2021-03-25
                          相关资源
                          最近更新 更多