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   137 Italo 3.475 Oggi, 22:55
Ultimo messaggio di: aliasmorian
No New Posts   6 ryosaeb4 85 Oggi, 20:54
Ultimo messaggio di: Max31055
No New Posts   5 Karim 145 18 November 2008 - 10:18
Ultimo messaggio di: arbushell
No New Posts   0 carlerchemez 41 17 November 2008 - 23:18
Ultimo messaggio di: carlerchemez
No New Posts   0 ryosaeb4 43 17 November 2008 - 11:32
Ultimo messaggio di: ryosaeb4
No New Posts   0 Trystero 59 2 November 2008 - 01:10
Ultimo messaggio di: Trystero
No new   10 ---io--- 244 1 November 2008 - 03:57
Ultimo messaggio di: Biba
No new   12 maurizione 109 31 October 2008 - 11:43
Ultimo messaggio di: maurizione
No New Posts   3 fc 103 27 October 2008 - 20:03
Ultimo messaggio di: [Daitarn]
No new   15 zack77 140 23 October 2008 - 20:02
Ultimo messaggio di: sirguich_
No New Posts   6 alcina 199 13 October 2008 - 11:08
Ultimo messaggio di: pphoto
No New Posts   1 arbushell 102 6 October 2008 - 22:27
Ultimo messaggio di: Bhoo!

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


RSS Versione Lo-Fi Oggi è il: 20 November 2008 - 23:07
IP.Board Skin Developed By Creative Networks