DevTutorial #16 – Come utilizzare XML nell’iPhone SDK
Eccoci con un nuovo tutorial dedicato alla programmazione per iPhone. Dopo aver visto molti componenti, ho deciso di fare un tutorial sull’integrazione con una tecnologia molto utilizzata, specialmente in ambito web: stiamo parlando di XML.
Vedremo, quindi, come leggere un file XML, da cui leggere delle informazioni che abbiamo salvato. Questa operazione verrà eseguita in locale (ovvero il file xml sarà all’interno del nostro progetto), ma nulla vieta di avere il file caricato su un server web da cui accediamo tramite la nostra applicazione.
Leggi il tutorial completo su devAPP














13 agosto 2009 alle 22:32
Domanda:
Ma non è possibile modificarlo un xml da iphone?
21 agosto 2009 alle 22:13
@corninos: sinceramente non so se esistono dei metodi specifici, casomai puoi trattare tutto come un classico file di testo e modificare ciò che ti serve..
13 gennaio 2010 alle 18:28
Ma è possibile fare riferiemnto a file xml che sono contenuti in directory di siti web?
esempio se il file xml da leggere e su:
http://www.miosito.com/xml/prova.xml
posso leggerlo con il parser che hai descritto? ci sono problemi o il percorso del file da leggere deve essere all’interno del telefonino?
Saluti e Grazie
13 gennaio 2010 alle 18:45
@8volante: certamente, ti basterà fare:
path = @”http://www.miosito.com/xml/prova.xml”;
e dovrebbe funzionare senza problemi!
2 febbraio 2010 alle 20:03
Salve,
ho provato il tutorial, ma un file di circa 250 record me lo apre in 1 minuto circa, è corretto?
3 febbraio 2010 alle 00:03
@Anto: mmm, mi sembra un po’ lentino.. sono grossi i record che deve aprire?
ti potrei consigliare di passare ad un db SQL, però mi sembra strano che sia così lento XML (anche se il parser disponibile nell’iPhone SDK non è uno dei migliori..)
3 febbraio 2010 alle 18:00
Ogni record è costituito da un cognome e un id (3 cifre).
Il file xml è stato generato partendo da un file xls.
5 febbraio 2010 alle 22:52
@Anto: allora è davvero troppo lento.. 250 record composti da tre campi di testo dovrebbero essere letti più velocemente.. strano..
prova con un db SQL, penso che guadagnerai molto in termini di velocità
25 febbraio 2010 alle 03:29
@Andrea Busi: ciao andrea, purtroppo la soluzione che hai dato a 8volante non funziona
il parsing funziona bene se il file è in locale, se cambio solo la stringa path in quella di un indirizzo web non parsa più 
Puoi aiutarmi?
25 febbraio 2010 alle 03:46
la soluzione per un file online è questa
NSURL *url = [[NSURL alloc] initWithString:@”http://yourUrl/yourFileName.xml”];
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
[parser setDelegate:self];
poi dal bool in poi è uguale
PS ovviamente il messaggio è indirizzato a 8volante XD
ah una cosa! nel controllo if del boolean puoi evitare anzi DEVI evitare il ==YES per evitare un errore logico! perchè essendo una variabile (appunto) logica l’espressione if(success) ne verifica la veridicità