Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di amamax
    Registrato dal
    Feb 2001
    Messaggi
    562

    [XML,PHP] file pesante?

    Salve. Ho un file XML dal quale debbo estrarre delle info.

    Questo file pesa ben 45 mega.

    Quando tento di prendere le info memorizzando tutto in una variabile, il browser mi dice che sono passati 30 secondi e quindi niente di fatto.

    E' necessario praticamente, in PHP, prendere prima tutti i dati presenti nel file e solo dopo dividere i dati, oppure c'è la possibilità di utilizzare tale file XML come se fosse un DB e quindi rendere le operazioni più veloci e soprattutto possibili?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    26
    Io ti consiglio di usare degli XML leggeri e servirtene solo per trasferire i dati.
    Avere un db in mysql enorme con delle query ben fatte vuol dire accessi rapidi... un xml grandicello vuol dire bloccare il server.

    Ad esempio io uso un xml per ogni articolo scritto e li indicizzo con un db msql. Per leggere un xml di pochi kb ci mette pochissimo (anche se ho problemi con le lettere accentate, il browser le legge ma il php no *sigh* )

  3. #3
    Utente di HTML.it L'avatar di amamax
    Registrato dal
    Feb 2001
    Messaggi
    562
    Perfetto...il vero problema è che mi è stato consegnato un file XML di questo peso enorme.

    Come posso dividerlo in modo istantaneo oppure esportarlo in un log MySQL o cose simili?

    Altra domanda...perchè mi avrebbero consegnato un XML enorme? Loro come lo utilizzavano? Purtroppo non posso chiederlo a loro, rischierei una figuraccia per il nome dell'azienda :P

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    26
    Probabilmente l'han fatto così per scambiare dati presenti nel loro db.

    Io posso consigliarti solo questo...
    [list=1][*]studiati l'xml il questione e creati il db che te serve[*]usando il SAX (più leggero per cose del genere) parsa il file cacciando tutto nel db formato al punto 1)[/list=1]
    Spero d'esserti stato d'aiuto

  5. #5
    Utente di HTML.it L'avatar di amamax
    Registrato dal
    Feb 2001
    Messaggi
    562
    Ok proverò a seguire le tue istruzioni. Solo che non so come si può portare tutto in mysql. Non c'è un importa dall'xml mi pare. E come si usa il SAX? Si suona uhuhuh :P

    E che vuol dire parsa? :P

    PS: ho installato PHP 5 solo che con simpleXML niente da fare, perchè quello si vede che funziona sempre per file piccoli.

    Cmq si, vorrei portare tutto nel db, mi piacerebbe.

  6. #6
    Originariamente inviato da amamax
    Ok proverò a seguire le tue istruzioni. Solo che non so come si può portare tutto in mysql. Non c'è un importa dall'xml mi pare. E come si usa il SAX? Si suona uhuhuh :P

    E che vuol dire parsa? :P

    PS: ho installato PHP 5 solo che con simpleXML niente da fare, perchè quello si vede che funziona sempre per file piccoli.

    Cmq si, vorrei portare tutto nel db, mi piacerebbe.
    ecco un ottimo articolo sul parsing di grossi documenti XML con PHP: è incluso un grafico che compara i vari parser. magari può servirti per qualche spunto.
    per convertire un documento XML in uno schema SQL prova a dare un'occhiata a XML2SQL.

    ciao

  7. #7
    Utente di HTML.it L'avatar di amamax
    Registrato dal
    Feb 2001
    Messaggi
    562
    Ho visto che con PHP5 riesco a lavorarci bene, ma ho dovuto dividere il file di 40 mega in 9 file più piccoli. Il prob è un altro ora e qui rimando ad un altro post.

    Il prob cmq che ho è che con PHP5 non posso lavorare visto che sul server c'è PHP4.

    Quindi ti prego di vedere il mio nuovo post che ora metto grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.