Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot read XML File

got a little problem with receiving the contents of a xml file (using TouchXML).

My first query works very well, looks something like this:

NSString *url = [NSString stringWithFormat:STATION_ID, latitude, longtitude];
CXMLDocument *rssParser = [[CXMLDocument alloc] initWithContentsOfURL:[NSURL URLWithString:url] options:0 error:nil];
NSLog(@"%@",rssParser);

so this log gives me the complete XML file.

after that, in another method im trying the same:

NSString *url = [NSString stringWithFormat:WEATHER_URL, [positionInformation objectForKey:@"stationId"]];
CXMLDocument *rssParser = [[CXMLDocument alloc] initWithContentsOfURL:[NSURL URLWithString:url] options:0 error:nil];
NSLog(@"%@", rssParser);

but the log im getting is (null). Loggin the URL String gives me the right URL without spaces or something, the URL Log for example looks like this:

NSString *url = [NSString stringWithFormat:WEATHER_URL, [positionInformation objectForKey:@"stationId"]];
NSLog(@"%@", url);

The result in the debugger Console is

http://api.wunderground.com/weatherstation/WXCurrentObXML.asp?ID=KCASUNNY19

looking at this file with my browser seems to be ok. Anybody know whats going wrong?????

I also tried, first to get the content of this URL by stringWithContentsOfURL, but this also not worked.

like image 378
choise Avatar asked May 10 '26 10:05

choise


1 Answers

This guy was having the same problem: http://www.iphonedevsdk.com/forum/iphone-sdk-development/15963-problem-initwithcontentsofurl.html. Looks like the API at Weather Underground is expecting a user-agent and returning a 500 HTTP response when it doesn't see one. You can use -initWithData:options:error: on CXMLDocument to pass the data you get using NSMutableURLRequest.

like image 139
Don Avatar answered May 13 '26 01:05

Don