當XMLHTTP返回的XML資料流中沒有資料時怎麼樣進行異常處理?

sdvingo發表於2007-03-29

這是我寫的一個login.asp檔案。呼叫一個XML資料介面獲取XML資料流。
br />"



Untitled Document

helloworld

Set XMLHTTP=server.CreateObject("Microsoft.XMLHTTP")
XMLHTTP.Open"Get",

"("username")&"&year=2004",Fa

lse
XMLHTTP.send("")
banner = XMLHTTP.responsetext

response.write(banner&"
")

set xml=server.createobject("microsoft.xmldom")
xml.async=false
xml.loadXML(banner)

if xml.parseerror.errorcode = 0 then
set root=xml.documentElement
set node=root.childNodes.item(0)
unino=node.childnodes.item(0).text
name=node.childnodes.item(1).text
amt=node.childnodes.item(2).text
tag=node.childnodes.item(3).text


if cint(amt) > 0 or tag = "T" then
response.write(amt&"
")
response.write(tag&"
")
end if
response.write(unino&"
")
response.write(name&"
")

end if

%>




這是正常情況下返回的資料流

-
-
0120011114
韋瓔芬
0
F



這是沒有相應資料時返回的資料流



當沒有相應資料時執行程式時報出下面的錯誤
Microsoft VBScript 執行時錯誤 錯誤 '800a01a8'

缺少物件

/login.asp,行24
/**************************************************/

1.使用responseXML就可以返回DOM物件
eg: set xml=XMLHTTP.responseXML

2.加個判斷:
set root=xml.documentElement
if(root.childNodes.length>0) '此處也可以用root.hasChildNods方法判斷~

else
'無資料
end if

/*************************************************/

我試過將返回用responsexml但是在設定
xml = XMLHTTP.responsexml時,
網頁報錯,說不支援responsexml物件。
用xml.load()或者xml.loadxml()方法來呼叫responsexml都報相同的錯誤。

在其返回responsetext裡面xml資料流裡面資料為空時有沒有辦法進行判斷啊。
/************************************************/

我現在是無法用XMLHTTP返回的responsexml用XMLDOM物件來呼叫,
只能用xml.loadxml(XMLHTTP.responsetext)這樣才成功。

但是當XMLHTTP.responsetext的資料為
時就會報錯。
我想問一下,什麼時候能用responsetext,什麼時候能用responsexml,兩者有什麼區別。
再就是能不能將responsexml的呼叫方式寫詳細點。謝謝

/***************************************************/

cwWsData.jsp頁面輸出xml資料時,一定要指定輸出的型別為:text/xml才能使用responsexml


使用responseText時:
set xml=server.createobject("microsoft.xmldom")
xml.async=false
xml.loadXML xmlhttp.responsetext

if xml.parseerror.errorcode = 0 then
set root=xml.documentElement
if(root.hasChildNodes) then
response.Write "有資料"
else
response.Write "無資料"
end if
else
Response.Write "錯誤:" + xml.parseerror.reason
end if

/*******************************************************/

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/443058/viewspace-907379/,如需轉載,請註明出處,否則將追究法律責任。

相關文章