Ichan Khan
Active User

Offline
Posts: 81
|
 |
« Reply #2 on: April 02, 2010, 08:33:53 AM » |
|
Here you go: Modified according to my need. Function validateXMLResponse(objDictionary) Dim aryLoadPassFail(15) Set xmlDoc = CreateObject("Msxml2.DOMDocument") xmlDoc.loadXML(objDictionary.Item("XMLResponse")) 'Check XML syntax If (xmlDoc.parseError.errorCode <> 0) Then Set myErr = xmlDoc.parseError objDictionary.Item("XMLResponseResult") = "Failed" objDictionary.Item("XMLResponseResultDetails") = "ERROR: " & myErr.reason Set validateXMLResponse = objDictionary Exit Function End If Set root = xmlDoc.documentElement arrAllKeys = objDictionary.Keys arrAllValues = objDictionary.Items For i = 0 to Ubound(arrAllKeys) 'Only process #-type parameters If Left(arrAllKeys(i),1) = "#" Then strParameterElementName = arrAllKeys(i) 'msgbox strParameterElementName strParameterElementValue = arrAllValues(i) strParameterElementName = Right(strParameterElementName,Len( strParameterElementName )-1) arrParameterElementValue = Split( strParameterElementValue,",") Set objChildNodes = root.getElementsByTagName(strParameterElementName) numberof=objChildNodes.length For k = 0 to objChildNodes.length For m=k To Ubound(arrParameterElementValue) strParameterElementValueExpected=arrParameterElementValue(m) 'msgbox"This is the expected value"& strParameterElementValueExpected strElementValueInNode =objChildNodes.item(k).Text 'msgbox"This is the actual value" &strElementValueInNode bElementValueExist = (StrComp( strElementValueInNode,strParameterElementValueExpected, vbTextCompare)="0") If bElementValueExist = "True" Then objDictionary.Item("XMLResponseResult") = "Passed" Else objDictionary.Item("XMLResponseResult") = "Failed" objDictionary.Item("XMLResponseResultDetails") ="Element Value Is Not Found in the Response" Set validateXMLResponse = objDictionary Exit Function End if k=k+1 Next Next 'Return End if Next Set validateXMLResponse = objDictionary 'Clean up Set root = Nothing Set xmlDoc = Nothing End Function
|