Ottenere un file XML da URL oggetto NSData?
-
19-09-2019 - |
Domanda
Ho bisogno di caricare un file .xml da un indirizzo URL in un oggetto NSData per ulteriori analisi con alcune librerie che già possiedo, (ma me il file XML come NSData hanno chiesto), come potrei fare questo?
Il formato URL sarebbe qualcosa di simile a questo:
Soluzione
Supponendo che sia UTF-8 dei dati. Se si tratta di locali (vale a dire all'interno del bundle) qualcosa come:
NSError *error;
NSString* contents = [NSString stringWithContentsOfFile:PATHTOLOCALFILE
encoding:NSUTF8StringEncoding
error:&error];
NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding];
Se è su un sito remoto, qualcosa di simile dovrebbe farlo. Si noti che è sincrona. Se avete bisogno di caricamento asincrono, quindi dovrete fare il vostro proprio networking o usare qualcosa come ASIHTTPConnection per scaricare il file prima.
NSError *error;
NSString* contents = [NSString stringWithContentsOfUrl:[NSURL URLWithString:URLOFXMLFILE]
encoding:NSUTF8StringEncoding
error:&error];
NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding];
Altri suggerimenti
È possibile chiamare routine di NSData
di - (id)initWithContentsOfURL:(NSURL *)aURL
. Maggiori informazioni qui: