Met behulp van de functie getXMLdocument wordt het request naar de server verzonden. De functie retournert een object met daarin het geparste XML document
' request XML-document
set xmlObj = getXMLDocument(xmlReq)
' controle op het XML object
if xmlObj is Nothing then
response.end
end if
Met behulp van de namen van de tags worden vervolgens de waardes van de elementen uit het xml document in een locale variabele opgeslagen door gebruik te maken van de functie getElementsByTagname("tagname")
dim i, arr_location, arr_param, arr_weight, arr_street, arr_housenr, arr_postcode, arr_city, arr_country
set arr_location = xmlObj.getElementsByTagname("location")
set arr_param = xmlObj.getElementsByTagname("addressparam")
set arr_weight = xmlObj.getElementsByTagName("weight")
set arr_street = xmlObj.getElementsByTagname("street")
set arr_housenr = xmlObj.getElementsByTagname("housenr")
set arr_postcode = xmlObj.getElementsByTagname("postcode")
set arr_city = xmlObj.getElementsByTagname("city")
set arr_country = xmlObj.getElementsByTagname("country")
Code voorbeeld 2
De functie getXMLDocument doet een aanroep naar de URL welke meegegeven wordt in de aanroep en retourneert een Object dat het geparste XML document bevat.
Function getXMLDocument(reqStr)
dim xmlHTTP, xmlObj, root
set getXMLDocument = Nothing
Instantieren van de MSXML Objecten
set xmlHTTP = Server.CreateObject("MSXML2.XMLHTTP.3.0")
set xmlObj = Server.CreateObject("MSXML2.DOMDocument.3.0")
Het xmlHTTP object stuurt een post naar de server en ontvangt vervolgens de xml welke geladen wordt in het xmlObj waarna het geparst wordt
xmlHTTP.open "POST", reqStr, False
xmlHTTP.send
' parsen van het XML-document.
xmlObj.async = true
xmlObj.loadXML (xmlHTTP.responseText)
Eventuele fouten bij het parsen van het document worden afgehandeld
if xmlObj.parseError.errorCode <> 0 then
response.write "Error parsing XML (error " & xmlObj.parseError.errorCode & "): " & xmlObj.parseError.reason & " at line " & xmlObj.parseError.line & " character " & xmlObj.parseError.linepos & "<BR><a href=""" & reqStr & """>XML Source</a>"
exit Function
end if
' afhandeling van een error melding
Set root = xmlObj.documentElement
if root.nodename = "error" then
dim errorcode, message
set errorcode = root.getElementsByTagname("code")
set message = root.getElementsByTagname("message")
response.write "<table><tr><td>Er is een fout opgetreden (" & errorcode.item(0).text & ") : " & message.item(0).text &"</td></tr></table>"
exit function
end if
Bij een foutloze afhandeling wordt het xmlObject vervolgens door de functie geretourneerd