Dale Fye
asked on
Retrieve values from XML response to Google Maps
I'm pulling data from the Google Map API and it returns an XML response which looks like:
I'm sure this is just a matter of getting the "SelectSingleNode" argument correct, but I have played with just about every combination of nodes names and cannot get this right.
<DistanceMatrixResponse>
<status>OK</status>
<origin_address>Grafton, VA 23692, USA</origin_address>
<destination_address>Yorktown, VA 23690, USA</destination_address>
<row>
<element>
<status>OK</status>
<duration>
<value>556</value>
<text>9 mins</text>
</duration>
<distance>
<value>9779</value>
<text>9.8 km</text>
</distance>
</element>
</row>
</DistanceMatrixResponse>
I would like to extract the duration/text and distance/text values from this XML but the code found is using is not returning those values Dim domResponse As DOMDocument60
Set domResponse = New DOMDocument60
domResponse.loadXML objXMLHTTP.responseText
Dim ixnStatus As Variant
Set ixnStatus = domResponse.selectSingleNode("//status")
If ixnStatus.Text = "OK" Then
Dim ixnDistance, ixnDuration
Set ixnDistance = domResponse.selectSingleNode("/DistanceMatrixResponse/row/element/distance/text")
Debug.Print ixnDistance
Set ixnDuration = domResponse.selectSingleNode("/DistanceMatrixResponse/row/element/duration/text")
Debug.Print ixnDuration
End If
and actually raises an error (#438 Object doesn't support this property or method) on line 11I'm sure this is just a matter of getting the "SelectSingleNode" argument correct, but I have played with just about every combination of nodes names and cannot get this right.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Debug.Print ixnDistance
try this instead:
Open in new window