| View previous topic :: View next topic   | 
	
	
	
		| Author | 
		Message | 
	
	
		Jimbalaya
 
 
  Joined: 24 Feb 2006 Posts: 6 Location: Frisco, TX, USA
  | 
		
			
				 Posted: Fri Feb 24, 2006 12:54 pm    Post subject: XML Parsing Problem | 
				     | 
			 
			
				
  | 
			 
			
				Hi,
 
 
I'm having trouble with parsing an XML file from Yahoo's Geocoder.
 
 
I'm getting an (0x800A01A8) Object required error on the line following line: Response.Write "Latitude" & xmlDoc.selectSingleNode("Latitude").Text
 
 
If I coment that our I get the same error on the next line.
 
 
Here is my code and the xml file I should be returning follows.
 
 
 	  | Code: | 	 		  <%
 
                        
 
xmlURL = "http://api.local.yahoo.com/MapsService/V1/geocode?appid=SmartStart&street=3821%20Plantation%20Ln%20&zip=75035"
 
                        
 
'// Create the XMLHTTP object
 
Set xmlHTTP = Server.CreateObject("MSXML2.XMLHTTP")
 
                        
 
'// Fire off the request!
 
xmlHTTP.Open "GET", xmlURL
 
xmlHTTP.Send 
 
 
'// Load the XML parser
 
Set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
 
xmlDoc.Async = False
 
xmlDoc.loadXML (xmlHTTP.ResponseXML.xml)
 
                            
 
'// Set the Result node
 
Set arrResult = xmlDoc.selectSingleNode("//ResultSet/Result")
 
                            
 
'// Show Latitude and Longitude
 
Response.Write "Latitude" & arrResult.selectSingleNode("Latitude").Text
 
Response.Write "Longitude" & ArrResult.selectSingleNode("Longitude").Text
 
                            
 
'// Unload XML parser
 
Set xmlDoc = Nothing
 
 
'// Destroy the object
 
Set xmlHTTP = Nothing
 
 
%>
 
 
 | 	  Yahoo XML
 
 	  | Code: | 	 		  
 
<?xml version="1.0" encoding="UTF-8" ?> 
 
- <ResultSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:yahoo:maps" xsi:schemaLocation="urn:yahoo:maps http://api.local.yahoo.com/MapsService/V1/GeocodeResponse.xsd">
 
- <Result precision="address">
 
  <Latitude>33.109863</Latitude> 
 
  <Longitude>-96.781642</Longitude> 
 
  <Address>3821 PLANTATION LN</Address> 
 
  <City>FRISCO</City> 
 
  <State>TX</State> 
 
  <Zip>75035-8587</Zip> 
 
  <Country>US</Country> 
 
  </Result>
 
  </ResultSet>
 
- <!--  ws01.search.re2.yahoo.com compressed/chunked Fri Feb 24 06:41:55 PST 2006 -->  | 	  
 
 
Thank you,
 
Jim | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		paul
 
 
  Joined: 11 Oct 2004 Posts: 128
 
  | 
		
			
				 Posted: Fri Feb 24, 2006 1:21 pm    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Most likely the returned XML does not have node "Latitude". make sure that the XML Yahoo returns doesn't have errors.
 
 
 
 
Paul _________________ World Countries | Survival Skills | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Jimbalaya
 
 
  Joined: 24 Feb 2006 Posts: 6 Location: Frisco, TX, USA
  | 
		
			
				 Posted: Fri Feb 24, 2006 1:25 pm    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Update:
 
 
I found out that the xmlHTTP.ReadyState never makes it past 1 (loading).  Does anyone know why this might be? | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		paul
 
 
  Joined: 11 Oct 2004 Posts: 128
 
  | 
		 | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Jimbalaya
 
 
  Joined: 24 Feb 2006 Posts: 6 Location: Frisco, TX, USA
  | 
		
			
				 Posted: Fri Feb 24, 2006 2:47 pm    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				
 
 
Yes, the xml file returns just as it should. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		paul
 
 
  Joined: 11 Oct 2004 Posts: 128
 
  | 
		
			
				 Posted: Fri Feb 24, 2006 4:02 pm    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				At what point do you check the xmlHTTP.ReadyState value?
 
 
 
 
 
Paul _________________ World Countries | Survival Skills | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Jimbalaya
 
 
  Joined: 24 Feb 2006 Posts: 6 Location: Frisco, TX, USA
  | 
		
			
				 Posted: Fri Feb 24, 2006 4:12 pm    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | paul wrote: | 	 		  At what point do you check the xmlHTTP.ReadyState value?
 
 
 
 
 
Paul | 	  
 
 
Right after the xmlHTTP.Send call.  
 
 
I also tried the following loop:
 
 
do while xmlHTTP.ReadyState = 1
 
...
 
loop
 
 
But it just kept looping until I stopped the browser. | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		paul
 
 
  Joined: 11 Oct 2004 Posts: 128
 
  | 
		
			
				 Posted: Fri Feb 24, 2006 8:13 pm    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Hi Jim,
 
 
I've solved your problem  
 
 
Simply change the following line:
 
 
xmlHTTP.Open "GET", xmlURL 
 
 
to the following:
 
 
xmlHTTP.Open "GET", xmlURL, False
 
 
Let me know if it works for you?
 
 
 
 
 
Peter _________________ World Countries | Survival Skills | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		Jimbalaya
 
 
  Joined: 24 Feb 2006 Posts: 6 Location: Frisco, TX, USA
  | 
		
			
				 Posted: Fri Feb 24, 2006 11:45 pm    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Hey Paul,
 
 
Well, I'm not sure if this is progress but it's different.
 
 
Now I'm getting:
 
 
 msxml3.dll (0x800C0005)
 
The system cannot locate the resource specified. 
 
 
on the xmlHTTP.Send statement.
 
 
Any Ideas as to what that means.
 
 
Thanks for all the help,
 
 
Jim | 
			 
		  | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		paul
 
 
  Joined: 11 Oct 2004 Posts: 128
 
  | 
		 | 
	
	
		| Back to top | 
		 | 
	
	
		  | 
	
	
		 |