Question

a obtenu un petit problème avec la réception du contenu d'un fichier xml (en utilisant TouchXML).

Ma première requête fonctionne très bien, ressemble à ceci:

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

ce journal me donne le fichier XML complet.

après que, dans une autre méthode im essayant même:

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

mais im journal est d'obtenir (null). Loggin la chaîne URL me donne l'URL à droite sans espaces ou quelque chose, l'URL Log par exemple ressemble à ceci:

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

Le résultat dans la console de débogage est

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

regardant ce fichier avec mon navigateur semble être ok. Tout le monde sait ce qui se passe mal ?????

J'ai aussi essayé, d'abord pour obtenir le contenu de cette URL par stringWithContentsOfURL, mais pas non plus travaillé.

Était-ce utile?

La solution

Ce mec a le même problème: http : //www.iphonedevsdk.com/forum/iphone-sdk-development/15963-problem-initwithcontentsofurl.html. On dirait que l'API à Weather Underground attend un agent utilisateur et renvoyer une réponse HTTP 500 quand il ne voit pas. Vous pouvez utiliser -initWithData:options:error: sur CXMLDocument pour passer les données que vous obtenez en utilisant NSMutableURLRequest.

Autres conseils

Vous devriez essayer d'utiliser l'argument d'erreur de initWithContentsOfURL: Options: erreur :. Créer un objet NSError *, et le transmettre dans thusly:

NSError      *error;
CXMLDocument *rssParser = [[CXMLDocument alloc] initWithContentsOfURL:[NSURL URLWithString:url] options:0 error: &error];

Si vous ne recevez pas un objet RSSParser, vérifiez que l'erreur.

i copié le contenu de ce fichier xml à mon propre serveur et changé le chemin d'URL. cela fonctionne correcty, donc je pense qu'il ya un problème avec la lecture de ce fichier « .asp ».

hmm. mais son contenu XML, étrange.

// edit: je l'ai fait un petit fichier php sur mon serveur qui retourne le contenu du fichier « asp »:

<?php
  echo file_get_contents("http://api.wunderground.com/weatherstation/WXCurrentObXML.asp?ID=KCASANFR70");
 ?>

lire le contenu des œuvres de mon script, mais cette solution de contournement n'est pas ce que je veux.

oh putain = /

Êtes-vous sûr que votre chaîne d'URL est correctement codé, de sorte que le point d'interrogation est interprété comme une requête? Vous voudrez peut-être envisager d'utiliser dataUsingEncoding ou stringUsingEncoding sur votre URL avant de l'utiliser pour initialiser rssReader.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top