Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 什么可能导致XML解析错误:未找到元素?_Asp.net - Fatal编程技术网

Asp.net 什么可能导致XML解析错误:未找到元素?

Asp.net 什么可能导致XML解析错误:未找到元素?,asp.net,Asp.net,我最近将一个ASP站点从我的开发机器迁移到了一个实时服务器。除了我的FAQ页面之外,所有页面都可以正常工作,但我的FAQ会显示: XML Parsing Error: no element found Location: http://geniusupdate.com/GSHelp/faq.aspx Line Number 1, Column 1: 我所做的唯一更改是将SQL页面上的连接字符串从本地更改为托管服务指定的字符串。关于我能做些什么来找到这个问题的根源,有什么建议吗 以下是我的常见问

我最近将一个ASP站点从我的开发机器迁移到了一个实时服务器。除了我的FAQ页面之外,所有页面都可以正常工作,但我的FAQ会显示:

XML Parsing Error: no element found
Location: http://geniusupdate.com/GSHelp/faq.aspx
Line Number 1, Column 1:
我所做的唯一更改是将SQL页面上的连接字符串从本地更改为托管服务指定的字符串。关于我能做些什么来找到这个问题的根源,有什么建议吗

以下是我的常见问题页面的来源:

<%@ Page Language="VB" MasterPageFile="~/theMaster.master" AutoEventWireup="false" CodeFile="faq.aspx.vb" Inherits="faq" Title="Untitled Page" %>
<%@ Import Namespace="sqlstuff" %>
<%@ Import Namespace="functions" %>

<asp:Content ContentPlaceHolderID="page_title" ID="theTitle" runat="server">
    FAQ</asp:Content>
<asp:Content ContentPlaceHolderID="column1_title" ID="col1Title" runat="server">
    <%=faqPageTitle(Request.QueryString("cid"))%></asp:Content>
<asp:Content ContentPlaceHolderID="column1" ID="columnContent" runat="server">

     <p>Click on a question to expand it to see the answer!</p>
     <p><%  If cID >= 0 Then
                Dim theFaq As New List(Of faqContent), iterate As Integer = 0
                theFaq = sqlStuff.getFaqs(cID)
                For Each oFaq As faqContent In theFaq
                    Response.Output.WriteLine("<h4 id={0} class={1}>Q: {2}</h4>", _
                                                 addQuotes("gsSwitch{0}-title", iterate), _
                                                 addQuotes("handCursor"), _
                                                 oFaq.Content.Question)
                    Response.Output.WriteLine("<div id={0} class={1}><string>A: </strong>{2}</div>", _
                                                 addQuotes("gsSwitch{0}", iterate), _
                                                 addQuotes("gsSwitch"), _
                                                 oFaq.Content.Answer)

                    iterate += 1
                Next
            Else
                Response.Output.Write("Here you can find a lot of information about eTHOMAS and how to expedite your office tasks.{0}", ControlChars.NewLine)
            End If
    %></p>
    <script type="text/javascript">
        var gsContent = new switchcontent("gsSwitch", "div")
        var eID = '<%= expandID %>'
        gsContent.collapsePrevious(true) // TRUE: only 1; FALSE: any number
        gsContent.setPersist(false)
        if(eID >= 0){
            gsContent.defaultExpanded(eID) // opens the searched FAQ
            document.getElementById('gsSwitch' + eID + '-title').scrollIntoView(true) // scrolls to selected FAQ
        }        
        gsContent.init()
    </script>
</asp:Content>
<asp:Content ContentPlaceHolderID="subcolumn_right_title" ID="rSideColTitle" runat="server"></asp:Content>
<asp:Content ContentPlaceHolderID="subcolumn_right" ID="rSideColContent" runat="server"></asp:Content>
<asp:Content ContentPlaceHolderID="subcolumn_left_title" ID="lSideColTitle" runat="server"></asp:Content>
<asp:Content ContentPlaceHolderID="subcolumn_left" ID="lSideColContent" runat="server"></asp:Content>
<asp:Content ContentPlaceHolderID="sidecolumn_title" ID="sideColtitle" runat="server">
</asp:Content>
<asp:Content ContentPlaceHolderID="sidecolumn" ID="sideCol" runat="server">
    <%  If cID >= 0 Then
            Response.Write(constructFaqSideMenu(CInt(Request.QueryString("cid"))))
        Else
            Response.Write(constructFaqSideMenu())
        End If
    %>
</asp:Content>

:

看来两者都有点像。该消息由Firefox生成,但由框架引起。出于某种原因,.NET在创建空页时会生成一个响应类型“application/xml”。Firefox将文件解析为XML,但没有找到根元素,并弹出错误消息

IE不呈现页面,句号。这就是XML的来源

以下是constructFaqSideMenu()函数:

Public Shared Function constructFaqSideMenu(ByVal oSelID As Integer) As String
    Dim oCatList As New List(Of faqCategory)
    Dim oRet As New StringBuilder
    Dim iterate As Integer = 1, extraTag As String = ""

    oCatList = sqlStuff.getFaqCats

    oRet.AppendFormattedLine("<ul id={0}>", addQuotes("submenu"))
    oRet.AppendFormattedLine("    <li id={0}>FAQ Categories</li>", addQuotes("title"))
    For Each category As faqCategory In oCatList
        If iterate = oSelID Then
            extraTag = String.Format(" id={0}", addQuotes("active"))
        Else
            extraTag = ""
        End If
        oRet.AppendFormattedLine("    <li{0}><a href={1}>{2}</a></li>", extraTag, addQuotes("faq.aspx?cid={0}", iterate), StrConv(category.Title,         VbStrConv.ProperCase))
        iterate += 1
    Next
    oRet.AppendLine("</ul>")

    Return oRet.ToString
End Function
将公共共享函数构造函数FaqSideMenu(ByVal oSelID作为整数)作为字符串
将列表设置为新列表(FAQ类别)
Dim oRet作为新的StringBuilder
Dim iterate As Integer=1,extraTag As String=“”
octalist=sqlStuff.getFaqCats
oRet.AppendFormattedLine(“”,addQuotes(“子菜单”))
oRet.AppendFormattedLine(“FAQ类别”,addQuotes(“标题”))
将每个类别作为列表中的常见问题解答类别
如果iterate=oSelID,则
extraTag=String.Format(“id={0}”,addQuotes(“active”))
其他的
extraTag=“”
如果结束
oRet.AppendFormattedLine(“”,extraTag,addQuotes(“faq.aspx?cid={0}”,iterate),StrConv(category.Title,VbStrConv.ProperCase))
迭代+=1
下一个
oRet.附录行(“”)
返回oRet.ToString
端函数

这里是空白页的来源:返回:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD>
<BODY></BODY></HTML>

开头没有xml声明


可能是一些编码问题、文件开头的“unicode序列”已损坏或类似性质的东西?

可能没有XML(XML是一个空白字符串)?

该网站是在ASP.NET中开发的,不是XML。这与问题有关吗?

我对ASP.NET一无所知,但根据我对web框架的一般经验,您的应用程序似乎根本无法生成任何输出。通常这意味着在任何输出渲染发生之前都会出现异常,因此请尝试查看日志以找出导致异常的原因…

这是一个非常古老的线程,但我在搜索相同问题时发现了此问题,并希望为以后搜索此问题的任何其他人提供一个明确的答案

当解析页面指令时引发异常时,我遇到了这个错误。我从源代码管理更新了aspx文件,签入这些文件的开发人员拥有不同版本的第三方控件库。寄存器程序集页指令引用了我没有的版本,因此此时引发了异常。我假设在页面请求生命周期的早期抛出异常时,该错误会出现在客户机中,而不会向客户机发送任何内容

我们正在
Global.Application\u Error
中记录应用程序级别的所有异常,因此我能够从日志中获取此信息。我们使用以下代码获取最后一个异常:

Server.GetLastError().GetBaseException()

嘿,我也发生了同样的错误,解决此错误的方法是首先打开iis管理器,然后在服务器名下的iis管理器中双击web服务扩展,如果活动服务器页面被“禁止”,则将其更改为“允许”现在asp页面将运行。

如果从.aspx页面调用.vb或.cs脚本并出现此错误,请将以下代码添加到.aspx页面。FireFox显然需要一些有效的标记。这对我有用

<html>
<body></body>
</html>


这可能有两个原因。您可能有一个或多个未关闭的HTML标记,或者您可能没有为我们的响应设置内容类型。阅读更多细节。

我也有同样的问题。这是因为我在global.asax中处理了异常,并调用了Server.ClearError(),而没有调用Response.Redirect或类似命令。我猜,代码失败,错误被删除,因此asp.net无法显示错误消息,也无法显示请求的页面


我还收到了此错误,因为我重写了页面的呈现方法,忘记调用base.render(writer),从而向浏览器发送了一个空页面。

当我部署到IIS时,我的所有页面都出现了此问题,解决方案的结果是,运行应用程序池的帐户没有足够的权限连接和执行数据库查询

我发现了此问题,因为URL正在重定向到其他位置。纠正这一点解决了问题


它正在重定向到
http://localhost/forms/abc.aspx
,但是它应该被重定向到
http://localhost/projectname/forms/abc.aspx

在新的虚拟机上安装服务时,我遇到了这个问题。(即:尚未在此计算机上运行其他WCF服务。)

您需要安装WCF服务的映射并将其添加到IIS中。最简单的方法如下:

  • 使用提升的管理员权限运行命令提示符

  • >P>在命令提示符下,导航到C:\Windows \微软.NET\Frase\v3.0\Windows通信基金会

  • 运行命令
    ServiceModelReg.exe-i

  • 通过运行命令
    iisreset


  • 我也面临同样的问题。我的解决方案可能不适用于ASP.NET,我在node/express land工作。我的API终结点未在响应中返回任何数据:

    return res.status(200).end();
    
    当我在数据响应中包含一些内容时,它解决了问题:

    return res.status(200).send('ok').end();
    

    我发现这至少对我来说是因为在C#WebAPI 2中,如果返回一个空的Ok()
    protected IHttpActionResult OKJSONResult()
    {
        HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, "", new MediaTypeHeaderValue("application/json"));
        return ResponseMessage(response);
    }