利用ASP发送和接收XML数据的处理方法

request.asp







dim Https
set Https=server.createobject(\”MSXML2.XMLHTTP\”)
\’定义一个XMLHTTP对像
Https.open \”POST\”,\”http://127.0.0.1/testpost/response.asp\”,false
Https.send \” echo
123456 987654
11111 22222 \”
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都是很轻松的!