Frage

Ich brauche für die weitere Parsen mit einigen Bibliotheken, die ich bereits besitzen, eine XML-Datei von einer URL-Adresse in ein NSData Objekt laden (aber sie fragen mich, die XML-Datei als NSData), wie könnte ich das tun?

Das URL-Format etwas so sein würde:

http://127.0.0.1/config.xml

War es hilfreich?

Lösung

Unter der Annahme, es UTF-8-Daten sind. Wenn es vor Ort (das heißt innerhalb des Bündels) so etwas wie:

NSError *error;
NSString* contents = [NSString stringWithContentsOfFile:PATHTOLOCALFILE 
                               encoding:NSUTF8StringEncoding
                               error:&error];
NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding];

Wenn es auf einem Remote-Standort ist, so etwas wie dies sollte es tun. Beachten Sie, dass es synchron ist. Wenn Sie asynchronen Laden benötigen, dann werden Sie müssen Ihre eigenen Netzwerke machen oder so etwas wie ASIHTTPConnection verwenden zuerst die Datei zum Download bereit.

NSError *error;
NSString* contents = [NSString stringWithContentsOfUrl:[NSURL URLWithString:URLOFXMLFILE] 
                               encoding:NSUTF8StringEncoding
                               error:&error];
NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding];

Andere Tipps

Sie können NSData die - (id)initWithContentsOfURL:(NSURL *)aURL Routine aufrufen. Mehr Infos hier:

http://developer.apple .com / Dokumentation / Cocoa / Reference / Stiftung / Kurse / NSData_Class / Reference / reference.html

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