在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
从数据库读出数据,然后以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>” 更容易观察. |
请发表评论