Sh4dow
2.11.2005, 16:47:53
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
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.
jbadyl
15.07.2010, 11:17:59
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ć ?
wookieb
15.07.2010, 11:20:59
Uźyj xmlreader-a. Po prostu będzie skakał po odpowiednich fragmentach pliku i odczytywał je. Zużycie pamięci jest minimalne.
jbadyl
16.07.2010, 10:45:00
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.
wookieb
16.07.2010, 10:46:28
Daj strukturę xmla. Po prostu przykładowe dane.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.