Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: XML do MySql
Forum PHP.pl > Forum > XML, AJAX > XML
ylither
Witam

Mam mega problem, po dlugich mysleniach, probowaniach roznych rozwiazan, googlowania itd nie mam juz pomyslow jak rozwiazac ponizsze zagadnienie.

Klient zarzyczyl sobie katalog www oferowanych przez siebie produktow (php+mysql). Bierze towar z roznych zrodel, i tu pojawia sie ciekawostka ktorej nie moge przejsc.

z jednej hurtowni co pare dni sa udostepniane pliki csv (z nimi nie ma problemu wiekszego aby zaimportowac do bazy, nawet jezeli duza waza (MB))

druga hurtowania podaje dane w XMLu (aktualizowane rowniez co pare dni), wszystko bylo by ok gdyby nie to ze XML ow jest dosc skomplikowany dla prostych convertetow xml2csv i jeden "pliczek" wazy srednio 80-100MB (exclamation.gif), udalo mi sie tak zoptymalizowac praser ze do 20-30 MB danych nie ma problemu i skrypt php spokojnie wyrabia sie w 30sec. (odrazu zaznaczam ze nie moge wydluzyc czasu trwania sesji, napisanie tego w CGI nie wchodzi w rachube [nie mam czasu na (sic!) przypomnienie sobie cgi ;/ ] )....


przyklad XMLa:
  1. <produkty type="Test" upust="</span>">
  2.  
  3.      <<span style='color:blue'>produkt data="0000-00-00"  katalog="XS01">
  4.            <magazyn kod="0001" typ="bulk" stan_magazynu="20" data_wprowadzenia="0000-00-00">
  5.                  <opis nazwa="Produkt 1" ilosc="1" pakowane="0" id="0001P1" />
  6.                  <dodatki kod="X001D" promocja="0" upust="10" pakiet="Pakiet X" />
  7.            </magazyn>
  8.                  <cena wartosc="10" ilosc="1" waluta="PLN" />
  9.      </produkt>
  10. </produkty>


jezeli ktos z Was ma jakis pomysl jak do tego podejsc z innej
strony to bylbym wdzieczny

pozdr.

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Zostalem zmuszony do napisania skryptu CGI aby dzielil plik XML.

Uzylem pliku z wygenerowanymi 120tys identycznych danych.
Podczas importu wyskakuje blad niespojnosci danych XML (przewaznie w okolicach 40-50 tys. rekordu/tagu) (juz jak dorywam sie do gotowych plikow XML przez PHP)
musze tu zaznaczyc ze dane sa identyczne we wszystkich plikach, ilosc rowniez (no moze po za ostatnim,
ale ani razu pelen import nie przeszedl po za 50tys TAG)

przy recznym sprawdzaniu pliku XML-a gdzie wystapil blad w/g prassera nie znajduje zadnego bledu...

ma ktos moze jakis pomysl ?sad.gif
marrrecki
niestety wywala mi wewnętrzny błąd serwera.
ylither
Witaj

Ustawiles wsztstkie zmienne i sciezki ?
linia #1 i linia #5

a potem musisz ustawic glowny tag otwierajcy i zamykajacy dokument
linia #34 i linia #37

nastepnie musisz podac tag po ktorym chcesz dzielic (w moim przypadku byl to <trip></trip> ktory sie powtarzal jako glowny klucz w XMLu) linia #40 i linia #50

i jeszcze jedno skrypt nie dodaje naglowka XMLowego z kodowaniem
to bys musial dopisac
wystarzy w lini #99 dodac dodatkowy wpis
np.:

print OUTPLIK '<?xml version="1.0" encoding="ISO-8859-2"?>';

to powinno pomoc.

pozdr
marrrecki
owszem poprzerabiałem sobie to, ale cgi wywala mi wewnętrzny błąd serwera.
ylither
sprawdz w error.log jaki dokaldnie blad wyskakuje
marrrecki
Kod
couldn't spawn child process: c:/usr/apache/httpd/html/action/admin/xml2mysql.cgi
mam takie coś
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.