ASP发送和接收XML数据的处理方法
利用到MSXML2.XMLHTTP对像
q966.asp
xml 代码
- dim Https
- set Https=server.createobject("MSXML2.XMLHTTP")
- '定义一个XMLHTTP对像
- Https.open "POST","http://127.0.0.1/q966.asp",false
- Https.send "<?xml version=""1.0""?><misc_command version=""1.6""><command_name>echo</command_name>
- <command_data_block><sid>123456</sid><service_id>987654</service_id>
- <sp_id>11111</sp_id><sp_password>22222</sp_password></command_data_block></misc_command>"
- if Https.readystate=4 then
- response.write "提交成功"
- 'readstate读取状态为4则成功,继续后面的,不成功当然就不用继续处理了
- dim objstream
- set objstream = Server.CreateObject("adodb.stream")
- '定义一个stream,因为读过来的直接拿出来是乱码的,所以得处理一下
- objstream.Type = 1
- objstream.Mode =3
- objstream.Open
- objstream.Write Https.responseBody
- objstream.Position = 0
- objstream.Type = 2
- objstream.Charset = "GB2312"
- html = objstream.ReadText
- '转好码,就放到html里,好关闭这些对像
- objstream.Close
- set objstream = nothing
- set https=nothing
- end if
- response.write html
-
- response.asp
-
- '创建DOMDocument对象
- Set xml = Server.CreateObject ("msxml2.DOMDocument")
- xml.async = False
-
- '装载POST数据
- xml.Load Request
- If xml.parseError.errorCode <> 0 Then
- response.write "不能正确接收数据" & "Description: " & xml.parseError.reason & "<br>Line: " & xml.parseError.Line
- End If
-
- set blogchild=xml.getElementsByTagName("misc_command")
- 'the_text=blogchild.item(0).childnodes(1).text
- 'the_text=blogchild.item(0).text
- 'for i=0 to blogchild.length-1
- response.write the_text
利用以上方法,ASP里调用Servlet或Web Service都是很轻松的!