![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Mam problem, mam dosc duzy plik jak na xml bo zajmuje 32MB. Jest teraz ploblem jak go przeprsowac, aby nie zajechac za bardzo servera, a raczej jak najmniej. Jaka metoda, czy ktos ma jakies doswiadczenia z tym ? Dosc powazna sprawa i nie za bardzo mam ja jak ugrysc. Jesli nikt nie ruszal takich plikow to moze czego uzywac do parsowania.
Potestuje wszystko i zdam pozniej relacje, tylko nie mam pomyslow za bardzo bo to czego uzywam zjadlo mi server i musialem killowac proces w ciezkich bolach. Z gory dzieki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/Rkingsmiley.png) |
|
|
![]() |
![]()
Post
#2
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Użyj SAX-a.
To samo zrobili w Cocoonie, wcześniej używali DOM-a jednak okazał się zbyt pamięcioreżny dla dużych plików - zanim można operować, DOM musi wygenerować drzewo i przechowuje je w pamięci - i zastąpili go SAX-em, który to czyta poprostu elementy i mówi gdzie początek, koniec elementu, jakie atrybuty. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 19.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mój problem idealnie wpisuje sie w ten temat,
mam plik XML o wielkości 200 mb zawierający trochę ponad 25000 rekordów, z czego każdy ma jeszcze pod sobą niezłe drzewko zależnych wpisów. na razie dysponuje hostingiem na home.pl i w jakiś magiczny sposób muszę przenieść jego zawartość do MySQL. W jaki sposób mogę to zrobić żeby nie zajechać serwera? wydaje mi sie ze nie jest wykonalne na homie za jednym podejściem przeczytanie całego pliku i wykonanie co najmniej 100000 insertów do mysqla. Moglibyście coś podpowiedzieć ? |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Uźyj xmlreader-a. Po prostu będzie skakał po odpowiednich fragmentach pliku i odczytywał je. Zużycie pamięci jest minimalne.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 19.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
próbuje ale nie wiem czemu struktura tego pliku trochę mnie przeraża element zawierający elementy które zawierają inne elementy nazwy niektórych z nich się powtarzają. Czy ktoś z was gdzieś widział jakiś tutorial albo coś w tym stylu jak się zabrać do skomplikowanej struktury xmlreaderem, bo ja trafiam na proste Tutoriale które przetwarzają pliki o prostej strukturze.
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Daj strukturę xmla. Po prostu przykładowe dane.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:23 |