Frage

bekam ein kleines Problem mit dem Inhalt einer XML-Datei empfängt (mit TouchXML).

Meine erste Abfrage funktioniert sehr gut, so etwas wie folgt aussieht:

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

so dieses Protokoll gibt mir die komplette XML-Datei.

danach, in einem anderen Verfahren im Versuch, das gleiche:

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

aber das Protokoll im ist immer (null). die URL String gibt mir die richtige URL loggin ohne Leerzeichen oder etwas, das URL-Log zum Beispiel sieht wie folgt aus:

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

Das Ergebnis in der Debugger-Konsole ist

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

in dieser Datei mit meinem Browser suchen scheint in Ordnung zu sein. Jeder weiß, was los ist falsch ?????

Ich habe auch versucht, zuerst den Inhalt dieser URL von stringWithContentsOfURL zu bekommen, aber auch dies nicht funktioniert.

War es hilfreich?

Lösung

Dieser Typ das gleiche Problem hatte: http : //www.iphonedevsdk.com/forum/iphone-sdk-development/15963-problem-initwithcontentsofurl.html . Sieht aus wie die API bei Weather Underground erwartet ein User-Agent und eine 500-HTTP-Antwort zurückgibt, wenn es nicht man sieht. Sie können -initWithData:options:error: auf CXMLDocument verwenden, um die Daten, die Sie NSMutableURLRequest erhalten mit zu übergeben.

Andere Tipps

Sie sollten versuchen, den Fehler Argument von initWithContentsOfURL mit: Optionen: error :. Erstellen Sie ein NSError * Objekt, und übergeben es in so:

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

Wenn Sie nicht über ein rssParser Objekt erhalten, diesen Fehler überprüfen.

i kopiert den Inhalt dieser XML-Datei auf meinem eigenen Server und änderte den URL-Pfad. dies funktioniert correcty, so dass ich denke, es gibt ein Problem mit dieser „.asp“ Datei zu lesen.

hmm. aber seine XML-Inhalte, seltsam.

// edit: Ich habe ein wenig PHP-Datei auf meinem Server, dass die Renditen der Inhalt der „asp“ file:

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

den Inhalt meiner Skript Werke zu lesen, aber diese Problemumgehung ist nicht das, was ich will.

oh verdammt = /

Sind Sie sicher, dass Ihre URL-Zeichenfolge richtig codiert ist, so dass die Fragezeichen als Abfrage interpretiert werden? Sie könnten mit dataUsingEncoding oder stringUsingEncoding auf Ihrer URL aussehen sollen, bevor es mit rssReader zu initialisieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top