当前位置: 代码迷 >> XML/SOAP >> 提示无法显示 XML 页 下列标记没有被关闭,该怎么解决
  详细解决方案

提示无法显示 XML 页 下列标记没有被关闭,该怎么解决

热度:578   发布时间:2012-02-16 21:30:36.0
提示无法显示 XML 页 下列标记没有被关闭
我从数据库读出数据,然后以XML的格式显示数据,但是提示我 hd ,category ,subsort等没有关闭,可是我明明已经关闭了呀。
VB code

<%
response.ContentType= "text/xml"
Response.CharSet = "GB2312"
Response.Expires = 0
Response.write "<?xml version=""1.0"" encoding=""UTF-8"" ?>"
Response.write vbcrlf&"<hd>"
Response.write vbcrlf&vbTab&"<category>"
Response.write vbcrlf&vbTab&vbTab&"<subsort>"

‘连接数据库的语句省略

do while not rs.eof
  response.write vbcrlf&vbTab&vbTab&vbTab&"<item>"
  response.write vbcrlf&vbTab&vbTab&vbTab&vbTab&"<id>"&rs("id")&"</id>"
response.write vbcrlf&vbTab&vbTab&vbTab&"</item>"
loop

rs.close()
set rs=nothing

response.write vbcrlf&vbTab&vbTab&"</subsort>"
response.write vbcrlf&vbTab&"</category>"
response.write vbcrlf&"</hd>"
Response.End() 
%>



------解决方案--------------------
"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
------解决方案--------------------
do while 中少了rs.movenext
------解决方案--------------------
VBScript code

Function XMLEncode(var)
    On Error Resume Next

    Dim strTmp

    If (IsNull(var)) Then
        var = ""
    End If

    If (VarType(var) = 11) Then
        If (var) Then
            strTmp = "1"
        Else
            strTmp = "0"
        End If
    Else
        strTmp = CStr(var)
        strTmp = Replace(strTmp, "&", "&amp;")
        strTmp = Replace(strTmp, "<", "&lt;")
        strTmp = Replace(strTmp, ">", "&gt;")
        strTmp = Replace(strTmp, """", "&quot;")
        strTmp = Replace(strTmp, "'", "&apos;")
    End If

    XMLEncode = strTmp

End Function


Function XMLDecode(str)

    Dim temp
    temp=replace(str,"&amp;","&")
    temp=replace(temp,"&lt;","<")
    temp=replace(temp,"&gt;",">")
    temp=replace(temp,"&quot;","""")
    temp=replace(temp,"&apos;","'")

    XMLDecode = temp

End Function

Response.Write XmlEndode(rs("字段名字")) 
  相关解决方案