报错: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()
%>

因为输出的内容不能带<>”‘&这几个特殊字符,需要进行XmlEncode编码,如下的代码详情:
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, "&", "&")
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)

相关推荐

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

    从数据库读出数据,然后以XML的格式显示数据,但是提示hd,category,subsort等没有关闭,可是我已经关闭了呀,不知道具体是什么原因造成了这个问题? VB code: 复制代码 代码如下: <% response.ContentType= "text/xml" Response.CharSet = "GB2312" Response.Expires = 0 Response.write "<?xml version="&q

  • python报错TypeError: Input z must be 2D, not 3D的解决方法

    目前,在使用python处理一个nc文件绘制一个风场图时,出现了以下报错 虽然图片画出来了,但是很丑而且没有理想的填充颜色! 但是不知道为啥,但是参考画图过程,分析这个其中的Z应该指的绘制等高线中的这个函数:matplotlib.pyplot contourf  中使用到的Z! 而这个函数的用法为 coutour([X, Y,] Z,[levels], **kwargs) 在这里提出,matplotlib.pyplot contourf 是用来绘制三维等高线图的,不同点是contour()是绘制

  • 使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '''' for column ''createtime''的快速解决方法

    我的MySQL安装后,保存删除表数据总是出现#1929 Incorrect datetime value: '' for column 'createtime' 的报错提醒,导致不能删除表里数据: 原因分析: 5以上的版本如果时期时间是空值应该要写NULL: 官方解释说:得知新版本mysql对空值插入有"bug", 要在安装mysql的时候去除默认勾选的enable strict SQL mode 那么如果我们安装好了mysql怎么办了,解决办法是更改mysql中的配置 my.ini

  • 使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '''' for column ''createtime''的快速解决方法

    我的MySQL安装后,保存删除表数据总是出现#1929 Incorrect datetime value: '' for column 'createtime' 的报错提醒,导致不能删除表里数据: 原因分析: 5以上的版本如果时期时间是空值应该要写NULL: 官方解释说:得知新版本mysql对空值插入有"bug", 要在安装mysql的时候去除默认勾选的enable strict SQL mode 那么如果我们安装好了mysql怎么办了,解决办法是更改mysql中的配置 my.ini

  • mysql报错1033 Incorrect information in file: ‘xxx.frm’问题的解决方法

    问题描述 1.采集站的数据库 2.无数据时搬家没问题,有采集数据后搬家,个别菜单报错 解决过程 0.各种度娘,谷哥,无果. 1.原站数据库版本5.0,新家数据库版本4.2,猜测版本不对,重装环境.无效. 2.客户提供的备份是mysql/data下的源数据,因为叶雨备份时没这样做过.只导出过sql.初步认为是备份损坏了文件,重新使用sql导入,还是报错. 3.继续认为是数据库损坏,尝试check和repair,结果还是erro. 4.转投到编码问题上,结果编码一样. 5.尝试重新导入sql,注意到

  • Android程序报错程序包org.apache.http不存在问题的解决方法

    Android Studio 2.1中使用 Android SDK 6.0(API 23),加载融云Demo时,报错: 解决办法: Android 6.0(api 23)已经不支持HttpClient了,在build.gradle中 加入 useLibrary 'org.apache.http.legacy'就可以了,如图: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • javascript代码在ie8里报错 document.getElementById(...) 为空或不是对象的解决方法 原创

    ie8中对于声明文档类型更加严格如下面的代码. 运行环境: function osdo(str){ document.getElementById("os").value=str; } 清空 Windows平台 S60v2 S60v3 CHM PDF PPT WORD EXCEL asp asp+access asp+sqlserver asp+sql/access php源码 php php+mysqljsp asp.net源码 asp.net asp.net+access asp.

  • SQL Server附加数据库报错无法打开物理文件,操作系统错误5的图文解决教程

    问题描述: 附加数据时,提示无法打开物理文件,操作系统错误5.如下图: 问题原因:可能是文件访问权限方面的问题. 解决方案:找到数据库的mdf和ldf文件,赋予权限即可.如下图: 找到mdf和ldf文件,本演示以ldf为例. 1.点击文件右键属性-->安全-->编辑 2.编辑-->添加 3.添加-->高级 4.高级-->立即查找-->搜索结果中找到-->Everyone-->确定-->确定 5.确定-->默认选中的Everyone用户-->

  • VSCode报错:Vetur can't find 'tsconfig.json' or 'jsconfig.json'解决办法

    目录 原因 说明 解决方法(3选1) 总结 原因 Vetur 0.31.0版本新增了一个vetur.config.js的配置文件, 在这个版本之后,会优先查找项目中是否配有tsconfig.json(ts项目)或者jsconfig.json(js项目), 没找到这2个文件就去找vetur.config.js,如果都没有,就会抛出这个提示. 说明 VSCode的JavaScript支持可以在两种不同的模式下运行: 文件范围(没有jsconfig.json) 在此模式下,在VSCode中打开的Jav

  • vscode输入npm install报错:node-sass@8.0.0 install:'node scripts/install.js'解决

    目录 报错信息描述 第一种:看一下这里是否有中文目录,有的话有可能会报错. 第二种.管理员身份运行vscode 第三种: node-sass版本问题 解决版本问题方案: 总结 报错信息描述 当我们在vscode中输入npm install 命令时,报如下的错误信息: 报错的原因及解决方案(自身入的坑): 第一种:看一下这里是否有中文目录,有的话有可能会报错. 我是把快速开发的项目拉取到桌面上然后以Vscode运行该项目的,默认给我放入的是C盘(我C盘带中文目录,因此报错了),如果想要解决这个中文

随机推荐