IPB     Il futuro di Tevac dipende da te!  

Benvenuto Visitatore ( Log In | Registrati )

  · · · · · · · · · · · ·
Reply to this topicStart new topic
> [Cocoa] Accedere a file xml in remoto
simotessa
messaggio 22 Jan 2008, 12:42
Messaggio #1


Level 1/11
*

Gruppo: Forum User
Messaggi: 39
Iscritto il: 4-April 06
Utente Nr.: 5.700



Ciao a tutti.
Sto cercando di documentarmi su due questioni: una è la questione dei socket http e l'altra quella del parsing xml. In pratica devo scrivere del codice che prenda un file xml che sta in remoto e faccia del parsing prendendo alcuni elementi. In genere queste cose le ho sempre fatte in python, ma non ho voglia di integrare del codice non obj-c. Ho già usato dei socket "esterni" come netsocket, ma preferivo qualcosa di più semplice. Su internet non ho trovato esempi a riguardo. Voi che classe consigliereste per questo compito? Deve solo consentire di fare una richiesta POST per tirarmi fuori un NSData da poter parsare.

Grazie in anticipo.



--------------------
Simone

If I'm curt with you, it's because time is a factor. I think fast, I talk fast, and I need you guys to act fast if you want to get out of this.
Go to the top of the page
 
+Quote Post
Cpu86
messaggio 22 Jan 2008, 14:11
Messaggio #2


Level 3/11
***

Gruppo: Forum User +
Messaggi: 206
Iscritto il: 24-August 06
Da: Varese
Utente Nr.: 6.539



CITAZIONE(simotessa @ 22 Jan 2008, 11:42) *
Ciao a tutti.
Sto cercando di documentarmi su due questioni: una è la questione dei socket http e l'altra quella del parsing xml. In pratica devo scrivere del codice che prenda un file xml che sta in remoto e faccia del parsing prendendo alcuni elementi. In genere queste cose le ho sempre fatte in python, ma non ho voglia di integrare del codice non obj-c. Ho già usato dei socket "esterni" come netsocket, ma preferivo qualcosa di più semplice. Su internet non ho trovato esempi a riguardo. Voi che classe consigliereste per questo compito? Deve solo consentire di fare una richiesta POST per tirarmi fuori un NSData da poter parsare.

Grazie in anticipo.


Guardando nella documentazione ho trovato NSSocketPort. Non ho mai usato classi per questo genere di cose, pero' le funzioni che operano sui socket di Berkeley funzionano e sono semplici.

Ciao
Marco




--------------------
L'informatica non riguarda i computer più di quanto l'astronomia riguardi i telescopi. (Edsger Wybe Dijkstra)

« Tra molto tempo- per esempio tra diecimila anni- non c'è dubbio che la scoperta delle equazioni di Maxwell sarà giudicato l'evento più significativo del XIX secolo. La guerra civile americana apparirà insignificante e provinciale se paragonata a questo importante evento scientifico della medesima decade. »
(Richard Feynman)
Go to the top of the page
 
+Quote Post
simotessa
messaggio 25 Jan 2008, 15:23
Messaggio #3


Level 1/11
*

Gruppo: Forum User
Messaggi: 39
Iscritto il: 4-April 06
Utente Nr.: 5.700



CITAZIONE(simotessa @ 22 Jan 2008, 13:42) *
Ciao a tutti.
Sto cercando di documentarmi su due questioni: una è la questione dei socket http e l'altra quella del parsing xml. In pratica devo scrivere del codice che prenda un file xml che sta in remoto e faccia del parsing prendendo alcuni elementi. In genere queste cose le ho sempre fatte in python, ma non ho voglia di integrare del codice non obj-c. Ho già usato dei socket "esterni" come netsocket, ma preferivo qualcosa di più semplice. Su internet non ho trovato esempi a riguardo. Voi che classe consigliereste per questo compito? Deve solo consentire di fare una richiesta POST per tirarmi fuori un NSData da poter parsare.

Grazie in anticipo.



Mi rispondo da solo. con questo codice creo l'oggetto di connessione:
CODE

NSURL *xmlUrl = [NSURL URLWithString:@"http://www.sito.it/file.xml"];
NSURLRequest *request = [NSURLRequest requestWithURL:xmlUrl cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0];
NSURLConnection *connessione=[[NSURLConnection alloc] initWithRequest:request delegate:self];


poi uso i seguenti metodi delegati:
CODE

- (void)connection:(NSURLConnection *)aConnection didReceiveResponse:(NSURLResponse *)aResponse
- (void)connection:(NSURLConnection *)aConnection didReceiveData:(NSData *)aData
- (void)connectionDidFinishLoading:(NSURLConnection *)aConnection


con didReceiveData: ricevo l'NSData dal socket e con il metodo connectionDidFinishLoading: viene chiamato alla fine della trasmissione. A questo punto posso creare il file xml con una cosa del genere:
CODE
NSXMLDocument *xmlDoc = [[[NSXMLDocument alloc] initWithData:data options:NSXMLDocumentTidyXML error:nil] autorelease];

e poi parsarlo come voglio.

Saluti


--------------------
Simone

If I'm curt with you, it's because time is a factor. I think fast, I talk fast, and I need you guys to act fast if you want to get out of this.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

 

Collapse

> 

    Titolo discussione Risposte Autore discussione Visite Ultima azione
No new   123 Tevac 2.132 Ieri, 21:01
Ultimo messaggio di: Lullaby71
No new   10 Phregas 517 19 August 2008 - 21:51
Ultimo messaggio di: Phregas
No New Posts   0 Marco Coïsson 37 19 August 2008 - 10:12
Ultimo messaggio di: Marco Coïsson
No New Posts   2 giordano 65 14 August 2008 - 16:53
Ultimo messaggio di: giordano
No new   17 Marco Coïsson 229 8 August 2008 - 23:08
Ultimo messaggio di: fede_dev
No New Posts   4 borros 91 7 August 2008 - 14:08
Ultimo messaggio di: borros
No New Posts   4 NSLuca 119 4 August 2008 - 15:25
Ultimo messaggio di: NSLuca
No New Posts   3 -plume- 94 30 July 2008 - 15:59
Ultimo messaggio di: poweruser
No New Posts   3 Ferex 106 30 July 2008 - 01:25
Ultimo messaggio di: poweruser
No New Posts   5 Roberto Rota 177 26 July 2008 - 18:25
Ultimo messaggio di: poweruser
No new   44 Italo 1.541 24 July 2008 - 09:34
Ultimo messaggio di: teopoz
No New Posts   1 carlerchemez 76 20 July 2008 - 18:46
Ultimo messaggio di: pepo154

Modalità di visualizzazione: Normale · Passa a: Lineare · Passa a: Outline


RSS Versione Lo-Fi Oggi è il: 22 August 2008 - 02:03
IP.Board Skin Developed By Creative Networks