從數據庫讀出數據,然后以XML的格式顯示數據,但是提示hd,category,subsort等沒有關閉,可是我已經關閉了呀,不知道具體是什么原因造成了這個問題? 
VB code: 
復制代碼 代碼如下:www.survivalescaperooms.com
 
<% 
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: 
復制代碼 代碼如下:www.survivalescaperooms.com
 
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>” 
更容易觀察.