亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? xmlrpc.asp

?? xml文件處理源代碼。asp編寫
?? ASP
字號:
<% 
' David Carter-Tod, wccartd@wc.cc.va.us, June 1999
	' This code is covered by the GNU GPL, http:\//www.opensource.org/licenses/gpl-license.html
' One major issue I am still concerned about is the destruction of Dictionary
	' objects which are created when a struct is returned by the remote function
	' since the function passes around pointers (not deeply tested yet, mind you)
	' the Dictionary object still needs to be set to nothing at some point, doesn't it?
' ----- Client and Server functions -----
Dim xmlText, serverResponseText
sub addTxt(txt)
	xmlText=xmlText & txt & vbNewline
	end sub
function dateToText(el)
	el = CStr(el)
	if Len(el)=1 then
		el = "0" & el
		end if
	dateToText = el
	end function
sub addItem(itm)
	addTxt "<value>"
	Select Case VarType(itm)
		Case vbEmpty
			addTxt "<string></string>"
		Case vbNull
			addTxt "<string></string>"
		Case vbInteger
			addTxt "<i4>" & itm & "</i4>"
		Case vbLong
			addTxt "<i4>" & itm & "</i4>"
		Case vbSingle
			addTxt "<double>" & itm & "</double>"
		Case vbDouble
			addTxt "<double>" & itm & "</double>"
		Case vbCurrency
			addTxt "<double>" & itm & "</double>"
		Case vbDate
			addTxt "<dateTime.iso8601>" & Year(itm) & dateToText(Month(itm)) & dateToText(Day(itm)) & "T" & dateToText(Hour(itm)) & ":" & dateToText(Minute(itm)) & ":" & dateToText(Second(itm))  & "</dateTime.iso8601>"
		Case vbString
			itm = Replace(itm, "<", "&lt;", 1, -1, 1)
			itm = Replace(itm, "&", "&amp;", 1, -1, 1)
			addTxt "<string>" & itm  & "</string>"
		Case vbObject
			if TypeName(itm)="Dictionary" then
				addTxt "<struct>"
				Dim a, b
				a=itm.keys
				b=itm.items
				for x = 0 to itm.count-1
					addTxt "<member>"
					addTxt "<name>" & a(x) & "</name>"
					addItem b(x)
					addTxt "</member>"
					next
				addTxt "</struct>"
			elseif TypeName(itm)="Recordset" then
				addTxt "<array>"
				addTxt "<data>"
				Do While Not itm.EOF
					addTxt "<struct>"
					for each whatever in itm.fields
						addTxt "<member>"
						addTxt "<name>" & whatever.name & "</name>"
						addItem whatever.value
						addTxt "</member>"
					next
					addTxt "</struct>"
					itm.MoveNext
					Loop
				addTxt "</data>"
				addTxt "</array>"
			else
				addTxt "<base64>"
				set base64=Server.createObject("Base64Lib.Base64")
				addItem base64.Encode(itm)
				set base64=nothing
				addTxt "</base64>"
			end if
		Case vbBoolean
			addTxt "<boolean>" & -1*CInt(itm) & "</boolean>"
		Case vbByte
			addTxt "<int>" & CInt(itm) & "</int>"
		Case Else
			if VarType(itm)>vbArray then
				addTxt "<array>"
				addTxt "<data>"
				for x = 0 to Ubound(itm, 1)-1
					addItem itm(x)
					next
				addTxt "</data>"
				addTxt "</array>"
			else
				itm = Replace(Cstr(itm), "<", "&lt;", 1, -1, 1)
				itm = Replace(itm, "&", "&amp;", 1, -1, 1)
				addTxt "<string>" & itm  & "</string>"
			end if
		'Not covered: vbError, vbVariant, vbDataObject
		End Select
	addTxt "</value>"
	end sub
function XMLToValue(xmlNd)
	Dim val
	if NOT xmlNd.childNodes(0).nodeType = 3 then
	Select Case xmlNd.childNodes(0).tagName
		Case "int"
			XMLToValue=CInt(xmlNd.childNodes(0).text)
		Case "i4"
			XMLToValue=CInt(xmlNd.childNodes(0).text)
		Case "boolean"
			XMLToValue=CBool(xmlNd.childNodes(0).text)
		Case "string"
			XMLToValue=CStr(xmlNd.childNodes(0).text)
		Case "double"
			XMLToValue=CDbl(xmlNd.childNodes(0).text)
		Case "dateTime.iso8601"
			Dim dt
			dt=xmlNd.childNodes(0).text
			val = CDate(mid(dt, 1, 4) & "/" & mid(dt, 5, 2) & "/" & mid(dt, 7, 2))
			val = dateadd("h", CInt(mid(dt, 10, 2)), val)
			val = dateadd("n", CInt(mid(dt, 13, 2)), val)
			val = dateadd("s", CInt(mid(dt, 16, 2)), val)
			XMLToValue = val
		Case "array"
			Dim arrLen
			arrLen = xmlNd.childNodes(0).childNodes(0).childNodes.length
			Dim valArr()
			ReDim valArr(arrLen)
			for  i = 0 to arrLen-1
				valArr(i) = XMLToValue(xmlNd.childNodes(0).childNodes(0).childNodes(i))
			next
			XMLToValue = valArr
		Case "struct"
			Set val = Server.CreateObject("Scripting.Dictionary") ' How/when do we destroy this?
			Dim dictLen
			dictLen = xmlNd.childNodes(0).childNodes.length
			for k = 0 to dictLen-1
				val.Add xmlNd.childNodes(0).childNodes(k).childNodes(0).text, XMLToValue(xmlNd.childNodes(0).childNodes(k).childNodes(1))     'Add some  keys and items.
			next
			Set XMLToValue = val
		Case "base64"
			set base64=Server.createObject("Base64Lib.Base64")
			XMLToValue = base64.Decode(xmlNd.childNodes(0).text)
			set base64=nothing
			End Select
	else
		XMLToValue=CStr(xmlNd.text)
	end if
	end function
' ----- Client only functions -----
function functionToXML(methodName, paramArr)
	xmlText=""
	addTxt "<?xml version=""1.0""?>"
	addTxt "<methodCall>"
	addTxt "<methodName>" & methodName & "</methodName>"
	if NOT Ubound(paramArr, 1)=0 then
		addTxt "<params>"
		for i = 0 to Ubound(paramArr, 1)-1
			addTxt "<param>"
			addItem paramArr(i)
			addTxt "</param>"
		next
		addTxt "</params>"
		end if
	addTxt "</methodCall>"
	functionToXML = xmlText
	end function
function xmlRPC(url, methodName, paramArr)
	Dim requestText
	'Create the requestBody from the methodName and paramArr
		requestText = functionToXML(methodName, paramArr)
	'Create and send the XML request
		Set objXML = Server.CreateObject("Microsoft.XMLHTTP")
		Set objLst = Server.CreateObject("Microsoft.XMLDOM")
		objXML.open "POST", url, false
		objXML.send(requestText)
	'Extract data from XML response
		serverResponseText=objXML.responseText
		If objXML.responseXML.parseError.errorCode <> 0 Then
			Err.raise 1, "XML-RPC", "There was an error parsing the response xml received from "& url & vbnewline & vbnewline & objXML.responseText
		End If
		Set objLst = objXML.responseXML.getElementsByTagName("param")
		if objLst.length=0 then 'Something is wrong
			Set objLst = objXML.responseXML.getElementsByTagName("member")
			Err.raise objLst.item(0).childNodes(1).childNodes(0).text, "XML-RPC", "The server at " & url & " generated the following error: " & objLst.item(1).childNodes(1).childNodes(0).text
		else
			if VarType(XMLToValue (objLst.item(0).childNodes(0)))=9 then
				set xmlRPC=XMLToValue (objLst.item(0).childNodes(0))
			else
				xmlRPC=XMLToValue (objLst.item(0).childNodes(0))
			end if
		end if
	'Kill everything
		Set objXML = Nothing
		Set objLst = Nothing
		requestText=""
	end function
' ----- Server only functions -----
function returnValueToXML(returnVal)
	xmlText=""
	addTxt "<?xml version=""1.0""?>"
	addTxt "<methodResponse>"
	addTxt vbTab & "<params>"
	addTxt vbTab & vbTab & "<param>"
	addItem returnVal
	addTxt vbTab & vbTab & vbTab & "</param>"
	addTxt vbTab & vbTab & "</params>"
	addTxt vbTab & "</methodResponse>"
	returnValueToXML = xmlText
	end function
function writeFaultXML(errNum, errDesc)
	xmlText=""
	addTxt "<?xml version=""1.0""?>"
	addTxt "<methodResponse>"
	addTxt "<fault>"
	addTxt "<value>"
	addTxt "<struct>"
	addTxt "<member>"
	addTxt "<name>faultCode</name><value><int>" & errNum & "</int></value>"
	addTxt "</member>"
	addTxt "<member>"
	addTxt "<name>faultString</name><value><string>" & errDesc & "</string></value>"
	addTxt "</member>"
	addTxt "</struct>"
	addTxt "</value>"
	addTxt "</fault>"
	addTxt "</methodResponse>"
	response.write(xmlText)
	response.end
	end function
Dim returnArr(2)
sub rpcserver()
	Response.ContentType = "text/XML" 
	on error resume next
	Set objserveXML = Server.CreateObject("Microsoft.XMLDOM")
	Set objserveLst = Server.CreateObject("Microsoft.XMLDOM")
	objserveXML.async=false
	objserveXML.load(Request)
	'Extract parameters and function from XML
		If objserveXML.parseError.errorCode <> 0 Then
			Call writeFaultXML(objserveXML.parseError.errorCode, "error parsing the xml passed to the server")
		else
			Set objserveLst = objserveXML.getElementsByTagName("param")
			Dim argList()
			ReDim argList(objserveLst.length)
			for i = 0 to objserveLst.length-1
				if VarType(XMLToValue (objserveLst.item(i).childNodes(0)))=9 then
					set argList(i)=XMLToValue (objserveLst.item(i).childNodes(0))
				else
					argList(i)=XMLToValue (objserveLst.item(i).childNodes(0))
				end if
			next
			returnArr(0)=objserveXML.childNodes(1).childNodes(0).text
			returnArr(1)=arglist
		end if
	'kill everything
	set objserveXML = nothing
	set objserveLst = nothing
	Call catchError()
	
	Dim returnVal, stringToEval
	on error resume next
	if NOT returnArr(0)="" then ' A function has been specified
		stringToEval=returnArr(0) & "("
		for j = 0 to UBound(returnArr(1), 1) - 1
			stringToEval = stringToEval & "returnArr(1)(" & j & "),"
			next
		if Right(stringToEval, 1)="," then
			stringToEval=Left(stringToEval, Len(stringToEval)-1)
			end if
		stringToEval = stringToEval & ")"
		returnVal=eval(stringToEval)
		returnVal=returnValueToXML(returnVal)
		Call catchError()
		response.write(returnVal)
	end if
	Call catchError()
	end sub
sub catchError()
	if err.number=0 then
		exit sub
	end if
	Call writeFaultXML(err.number, err.description)
	end sub
%>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕亚洲一区二区av在线| aaa欧美大片| 91小视频免费观看| 久久综合久久99| 午夜久久久久久久久| 99国产欧美另类久久久精品| 久久久国产精品麻豆| 九九九久久久精品| 91精品国产手机| 亚洲国产aⅴ天堂久久| 国产日韩欧美在线一区| 国产一区999| 久久亚洲精品小早川怜子| 精品一区二区久久| 精品国产一区二区三区久久影院 | 精品国产免费人成在线观看| 青青草97国产精品免费观看 | 99精品视频一区二区| 亚洲日本一区二区三区| 欧美综合一区二区三区| 亚洲午夜在线观看视频在线| 欧美精品在线观看播放| 狠狠色伊人亚洲综合成人| 国产午夜三级一区二区三| 成人av片在线观看| 亚洲一区二区三区在线看| 欧美久久久久久久久中文字幕| 麻豆成人在线观看| 国产精品伦一区| 制服丝袜亚洲网站| 成人免费视频视频在线观看免费| 中文子幕无线码一区tr| 欧美日韩国产片| 粉嫩av一区二区三区| 亚洲国产成人91porn| 欧美大白屁股肥臀xxxxxx| 成人免费的视频| 亚洲综合激情小说| 日韩免费高清av| 97成人超碰视| 久久99精品国产| 亚洲成人午夜影院| 日韩毛片视频在线看| 欧美大胆一级视频| 欧美久久久一区| 一本一道久久a久久精品综合蜜臀| 久久国产精品无码网站| 亚洲欧美日本在线| 国产欧美日韩另类视频免费观看 | 成人免费在线播放视频| 欧美精品一区二区三区蜜桃视频| 色狠狠av一区二区三区| 国产乱码字幕精品高清av| 日本亚洲最大的色成网站www| 亚洲制服丝袜一区| 国产精品久久久久久久午夜片| 日韩欧美在线综合网| 欧美日韩另类国产亚洲欧美一级| a4yy欧美一区二区三区| 成人a免费在线看| 成人午夜精品一区二区三区| 韩国在线一区二区| 亚洲精品国产无套在线观| 日本一区二区视频在线| 精品久久久久香蕉网| 精品免费99久久| 久久综合精品国产一区二区三区| 日韩三级免费观看| 欧美一区二区视频在线观看2022| 欧美视频在线一区| 欧美日韩激情在线| 日韩手机在线导航| 国产亚洲精品bt天堂精选| 国产女人水真多18毛片18精品视频| 久久久久久久综合色一本| 久久婷婷国产综合精品青草| 精品1区2区在线观看| 久久久久久亚洲综合影院红桃 | 欧美不卡激情三级在线观看| 精品国产99国产精品| 国产精品人妖ts系列视频| 中文字幕一区二区三区蜜月| 亚洲一区二区视频在线观看| 三级欧美韩日大片在线看| 久久精品国产第一区二区三区| 国产一区二区美女诱惑| 99久久伊人精品| gogogo免费视频观看亚洲一| 色综合中文字幕国产| 9191精品国产综合久久久久久| 精品少妇一区二区三区在线播放| 亚洲国产高清在线| 亚洲线精品一区二区三区八戒| 久久97超碰国产精品超碰| 99麻豆久久久国产精品免费| 欧美一区二区三区在线看| 国产精品久久久久婷婷二区次| 艳妇臀荡乳欲伦亚洲一区| 精品一区二区三区视频在线观看| 处破女av一区二区| 日韩写真欧美这视频| 一区二区三区中文字幕精品精品| 久久er精品视频| 欧美日韩国产美女| 最新热久久免费视频| 国产精品原创巨作av| 91精品国产品国语在线不卡| 亚洲欧美经典视频| 成人福利视频在线看| 久久久久久久久久久久久夜| 丝袜亚洲精品中文字幕一区| 欧美性受xxxx| 亚洲精品成a人| av亚洲精华国产精华精华| 久久色.com| 亚洲电影你懂得| 成人a免费在线看| 精品国内二区三区| 热久久免费视频| www.色综合.com| 久久久久9999亚洲精品| 免费观看成人鲁鲁鲁鲁鲁视频| 成人18视频日本| 国产亚洲欧美一级| 久久99精品久久久久久| 7777精品久久久大香线蕉| 樱桃视频在线观看一区| 成人精品小蝌蚪| 亚洲国产激情av| va亚洲va日韩不卡在线观看| 国产精品三级在线观看| 国产乱人伦偷精品视频不卡| 精品国产不卡一区二区三区| 青青青爽久久午夜综合久久午夜| 欧美性受xxxx黑人xyx性爽| 日韩精品亚洲一区| 精品久久久久久久久久久久包黑料 | 欧美专区日韩专区| 人人精品人人爱| 日韩久久免费av| 国内精品久久久久影院薰衣草| 日韩三级视频中文字幕| 精品一区二区三区免费观看| 久久久三级国产网站| 国产盗摄精品一区二区三区在线| 日本一区二区三区久久久久久久久不 | 国产精品一区在线观看乱码| 久久久99精品免费观看| 91小视频在线| 国产在线一区观看| 亚洲另类色综合网站| 国产欧美日韩久久| 欧美一区在线视频| 欧洲另类一二三四区| 免费在线看成人av| 亚洲欧美激情在线| 国产精品久久久久久亚洲伦| 日韩欧美国产精品| 欧美日韩小视频| 91网站最新网址| 国产在线看一区| 天天综合网天天综合色| 国产精品久久久久久久蜜臀| 91精品欧美综合在线观看最新 | 欧美一区二区三区公司| 欧美三级三级三级爽爽爽| 成人激情免费视频| 国产一区二区剧情av在线| 香蕉久久夜色精品国产使用方法| 国产精品乱子久久久久| 精品日韩在线一区| 日韩欧美成人激情| 欧美男生操女生| 一本久久综合亚洲鲁鲁五月天| 国产麻豆成人精品| 国产伦理精品不卡| 久久99热这里只有精品| 琪琪一区二区三区| 亚洲精品视频在线观看网站| 国产精品成人网| 国产精品成人一区二区三区夜夜夜 | 91美女视频网站| 91小视频免费观看| 91视视频在线直接观看在线看网页在线看| 精品一区二区三区在线观看| 美国十次了思思久久精品导航| 日日夜夜免费精品| 精品一区二区久久久| 风间由美性色一区二区三区| 国产在线一区二区| 国产suv精品一区二区6| 成人看片黄a免费看在线| 9i在线看片成人免费| 欧美怡红院视频| 日韩精品一区二区三区视频播放 | 麻豆91在线看| 韩国精品在线观看| aaa亚洲精品| 欧美日韩中文字幕一区二区| 欧美精品久久久久久久久老牛影院|