Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> simplexml + MySql + wielki plik xml
Apo
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

Ostrzeżenie: (0%)
-----


Witam
Jestem w trakcie pracy nad większym projektem i mam problem. Jest sobie na dysku program który generuje plik xml ze swoich danych (oferty). Plik ten ma conajmniej kilkaset tysięcy linii (ok 40mb). I odnośnie tego mam kilka pytań.

Musze zrobić tak że skrypt odczytuje przez simplexml plik .xml i zapisuje zawartość do odpowiednich tabel w bazie danych a potem odpowiednich pól (czyli pętle i instrukcje warunkowe aby wszystko zapisac w odpowiednie miejsca). No i nie wiem jak rozwiązać problem szybkości, bo wiadomo z taką ilością informacji trwa to bardzo długo (kilka minut do kilkudziesięciu). Elementy pliku xml mają kilka postaci (dla odpowiednich ofert inne pola):
Przykład:
  1. <main>
  2.  
  3. <record>
  4.             <id>23254</id>
  5.             <dd>1350</dd>
  6.             <form>6</form>
  7. </record>
  8. <record>
  9.             <numer>23254</numer>
  10.             <adres>1350</adres>
  11.             <form>6</form>
  12.             <liczba_p>l154</liczba_p>
  13. </record>
  14.  
  15. </main>


Chciałem się dowiedzieć jak można maksymalnie zoptymalizować taki proces (może coś innego niż simplexml), wasze różne pomysły i sugestie. (nie mogę nic zmieniać z plikiem xml) i dlaczego wywala błędy kiedy simplexml nadrafi na znak "&" czy można to jakoś usunąć czy tylko zamienić na "&amp". Aha i nie mam dostępu do serwera, czyli nic nie moge doinstalować, ewentualnie klasy itp.

Pozdro

Ten post edytował Apo 12.05.2006, 15:03:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
splatch
post
Post #2





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Odpowiedzią na Twoje pytanie jest SAX. Wymaga on od programisty trochę więcej niż SimpleXML czy też DOM, ale jest najlepszy przy odczycie tak dużych plików. Nie wczytuje on całego pliku do pamięci.
Przy takiej strukturze dokumentu SAX na pewno sobie poradzi (wersja parsera XML, która jest w php dziwnie obsługuje przestrzenie nazw).

PS. masz kod w złym tagu, chyba jest od tego XML?


--------------------
Łukasz Dywicki
Independent Java and open source software consultant.
Blog - Java, OSGi, integracja oprogramowania..
Go to the top of the page
+Quote Post
Apo
post
Post #3





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

Ostrzeżenie: (0%)
-----


Macie może jakiś ciekawe linki o SAX ? Na forum za dużo informacji o tym nie ma. Przejżałem manual i znalazłem o tym rodział w książce ale tylko 2 strony sad.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 13:38