Wątek przeniesiony 2016-12-19 14:46 z Bazy danych przez somekind.

Jakie rozwiązanie najlepsze dla dużego pliku XML

0

Witam,

Mam duży plik xml, który zawiera dane dotyczące produktów sklepowych. Plik ma około 60 mb i pytanie do was brzmi jak najlepiej poradzić sobie z tymi danymi? Próbowałem przekonwertować sobie ten plik xml do formatu json w php ale średnio to wychodzi i nie wiem czy to jest sens. Jaki optymalny sposób jest najlepszy? Przekonwertować to do sql i wrzucić w bazę?

0

Nie napisales co chcesz zrobic z tym plikiem...

0

Napisz sobie w php parsowanie tego pliku wraz z wstawianiem danych do bazy danych. Bez konwertowania tego do pośredniego JSONa.

0

Chce użyć tego do sklepu internetowego.

1

no super, wiesz jaka to ma wartosc techniczna? Zerowa. Chcesz zapisac te informacje z tego pliku do bazy, czy chcesz je wyswietlic czy chcesz przefiltrowac czy co? Zadam jeszcze raz pytanie. Co chcesz zrobic z tym plikiem?

Nie do czego ma byc uzytym tylko co on ma robic

0

Chce sparsowac go i zaimportować z niego produkty do bazy w formie, która mogłaby się nadawać do wyświetlenia w sklepie internetowym który sposób byłby najlepszy? W pliku xml jest sporo produktów i są podzielone na grupy.

1

Ogólnie to możesz zrobić to na kilka sposobów. Możesz napisać parser który zaczyta plik i wrzuci Ci do Twojej bazy danych. Nie wiem jakiej bazy używasz, ale może istnieć narzędzie do obsługi bazy które potrafi zaczytać plik i dograć rekordy do bazy. W ostateczności możesz otworzyć xml w Excelu, zamienić na CSV i zaimportować do bazy.

Jeśli to jednorazowa historia to szukałbym gotowego programu, jeśli nie, to postarałbym się napisać coś sam.

0

Dzięki za pomoc. Będę próbował ale już wiem o co chodzi :)

0

możesz spróbować czytać tego XML bezpośrednio do bazy, nie wiem jak to będzie wydajne dla 60 mb

MySQL: https://dev.mysql.com/doc/refman/5.5/en/load-xml.html
SQL Server: http://www.kodyaz.com/t-sql/q[...]ng-sql-xml-in-sql-server.aspx

1

Ja zawsze wykorzystuje przekształcenie xslt do csv, a później csv "zasysam" do bazy

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0