源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

报错:XML页无法显示,下列标记没有被关闭解决方法

  • 时间:2020-03-11 11:30 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:报错:XML页无法显示,下列标记没有被关闭解决方法
从数据库读出数据,然后以XML的格式显示数据,但是提示hd,category,subsort等没有关闭,可是我已经关闭了呀,不知道具体是什么原因造成了这个问题? VB code:
[u]复制代码[/u] 代码如下:
<% 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() %>
因为输出的内容不能带<>”‘&这几个特殊字符,需要进行XmlEncode编码,如下的代码详情: VBScript code:
[u]复制代码[/u] 代码如下:
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, "&", "&") strTmp = Replace(strTmp, "<", "<") strTmp = Replace(strTmp, ">", ">") strTmp = Replace(strTmp, """", """) strTmp = Replace(strTmp, "'", "'") End If XMLEncode = strTmp End Function Function XMLDecode(str) Dim temp temp=replace(str,"&","&") temp=replace(temp,"<","<") temp=replace(temp,">",">") temp=replace(temp,""","""") temp=replace(temp,"'","'") XMLDecode = temp End Function Response.Write XmlEndode(rs("字段名字"))
另外,如果是文件编码问题,则可以将: Response.write “<?xml version=”"1.0″” encoding=”"UTF-8″” ?>” 改成 Response.write “<?xml version=”"1.0″” encoding=”"GB2312″” ?>” 另外,在开始输出之前,需要清空内容: Response.Clear Response.write “<?xml version=”"1.0″” encoding=”"GB2312″” ?>” 另外,写成: Response.write vbCrlf & vbTab & vbTab & “<subsort>” 更容易观察.
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部