Search
Locatienet
Diensten
Over Locatienet
Tarieven
Bestellen
Adverteren
Ondersteuning
Keuzemodule
Contact
Referenties
Resellers
Sites
Enter edit mode

Nieuwsbrief
Print page
NL    EN   
MSXML Parser
voorbeeld van het gebruik van de msxml parser
Code voorbeeld 1

opzoeken van een adres

De functie writeAddressList wordt aangeroepen met de parameters die het te geocoderen adres bevatten (street, postcode, city, country).

Sub writeAddressList(radioname, street, postcode, city, country)
dim xmlObj, username, password

username = "test"
password = "test"


Vervolgens wordt het request opgebouwd door de URL van de aanroep samen te stellen

xmlReq = "http://tools.locatienet.com/location/xml/xmladdress.asp"
xmlReq = xmlReq & "?username=" & username
xmlReq = xmlReq & "&password=" & password
xmlReq = xmlReq & "&street=" & street
xmlReq = xmlReq & "&postcode=" & postcode
xmlReq = xmlReq & "&city=" & city
xmlReq = xmlReq & "&country=" & country
xmlReq = xmlReq & "&numresults=5"


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

set getXMLDocument = xmlObj

End Function

Administrator22 September 2004, Wednesday 15:53