Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> xml do sql
Dex1987
post
Post #1





Grupa: Zarejestrowani
Postów: 246
Pomógł: 0
Dołączył: 28.09.2004

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


Wiam jest jakis program który parsuje pliki xml do mysql? Chodzi mi ze wpisuje znaczniki np <nazwa> i dodaje to do odpowiedniego pola w mysql mozeto byc program exe (na windows).

Zgóry dzieki za odp, pozdrawiam dex.
Go to the top of the page
+Quote Post
Sh4dow
post
Post #2





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

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


Ke questionmark.gif blink.gif

Po pierwsze musial bys miec jakis standart dokumentu, cos co okresla nazwe tabeli, nazwe kolumny, jak podawac wartosci.
Bez tego raczej nie czaje jak mozna by to zrobic. A tak wogole to jaki problem zrobic sobie prosty paraserek i przerzucac to do mysql'a tak jak chcesz ? Jesli nie znasz XML'a to zapraszam do manuala.


--------------------
Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota
Zarządzaj swoim budżetem domowym
Go to the top of the page
+Quote Post
Dex1987
post
Post #3





Grupa: Zarejestrowani
Postów: 246
Pomógł: 0
Dołączył: 28.09.2004

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


Wiem jak zrobic parser, ale to nie dla mnie tylko dla kumpla, a plik xml jest dosc rozbudowany i nie chce mi sie pisac, znalazlem taki program - "Navicat". Bardzo rozbudowany mozliwosc importu do bazy xms, txt, cvs i jeszcze kilka innych (sam znajduje znaczniki i pyta jaki i w jakie pole w bazie go dodac). Ponadto ma mozliwosc zarzadzania baza danych. Polecam.

Ten post edytował Dex1987 6.07.2005, 23:23:59
Go to the top of the page
+Quote Post
Przemo`
post
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 15.05.2004
Skąd: Kraków

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


Swoją drogą ciekawe, że tutaj na forum nie ma nic na ten temat. Również poszukuję skryptu który przerzuci bazę xml do sql, lecz jako skrypt php gdyż musi pracować na bieżąco (codzienna aktualizacja bazy) I o ile przy prostych bazach jest to banalne to przy rozbudowanych bazach z różną strukturą już nie, gdyż nie wystarczy sam parser ale jeszcze coś co stworzy strukturę tabeli. Czy naprawdę nikt tutaj nei miał do czynienia z czymś takim?
Na phpclasses.org znalazlem dwie klasy, jednak moga one wrzucac jedynie wpisy do tabeli.

Ten post edytował Przemo` 16.07.2005, 17:09:49


--------------------
Pobaw się lepszym phpBB z dostępem do panelu admina | A tu je możesz ściągnąć
Go to the top of the page
+Quote Post
Dex1987
post
Post #5





Grupa: Zarejestrowani
Postów: 246
Pomógł: 0
Dołączył: 28.09.2004

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


masz racje, ciekawy temat i coraz czesciej slyszy sie o xml. mysle ze powinnismy sie tym bardziej zainteresowac.
Go to the top of the page
+Quote Post
aleksander
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

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


Skrypt którego szukacie był tematem artykułu w którymś numerze PHPSolutions ale nie pamietam w którym
Go to the top of the page
+Quote Post
Przemo`
post
Post #7





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 15.05.2004
Skąd: Kraków

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


A nie pamiętasz przypadkiem np nazwy tego skryptu albo czegoś unikalnego? smile.gif Na ich stronie nie widze artykułów a forum dyskusyjne dopiero się rozwija.


--------------------
Pobaw się lepszym phpBB z dostępem do panelu admina | A tu je możesz ściągnąć
Go to the top of the page
+Quote Post
aleksander
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 742
Pomógł: 0
Dołączył: 14.12.2003
Skąd: Gdańsk, Trójmiasto

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


http://www.phpsolmag.org/pl/modules/news2/...e.php?storyid=6


Przekazywanie danych między MySQL a XML, CSV i HTM
Go to the top of the page
+Quote Post
Tajny
post
Post #9





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 28.07.2005
Skąd: 64-100 Leszno

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


Witam, najpierw wyciągnij z bazy dane mniej wiecej w taki sposób, oczywiście bardziej fachowy ( musisz miec DOM XML'a załadowanego jako moduł w php )

  1. <?
  2. $dbconnect = mysql_connect('localhost', 'root', '');
  3. mysql_select_db('serwisdb');
  4. $table_id = 'spedytorzy';
  5. $query = &#092;"SELECT * from $table_id\";
  6. $dbresult = mysql_query($query, $dbconnect);
  7. $doc = domxml_new_doc('1.0');
  8. $root = $doc->create_element('root');
  9. $root = $doc->append_child($root);
  10. while($row = mysql_fetch_assoc($dbresult)) {
  11. $occ = $doc->create_element($table_id);
  12. $occ = $root->append_child($occ);
  13. foreach ($row as $fieldname => $fieldvalue) {
  14. $child = $doc->create_element($fieldname);
  15. $child = $occ->append_child($child);
  16. /* $fieldvalue = mb_convert_encoding($fieldvalue,'UTF-8','ISO-8859-2'); 
  17. gdy nie chcesz zamieniac w wyniku kodowania nie uzywaj powyzszego, pozatym musis
  18.  miec multibyte string jako modul take w php aby powyzsze zadzialalo 
  19. */
  20. $value = $doc->create_text_node($fieldvalue);
  21. $value = $child->append_child($value);
  22.  } 
  23. } 
  24. @$xml_string = $doc->dump_mem(true);
  25. print($xml_string);
  26. ?>



schemat bazy tak wyglada
  1. Type 'help;' OR '\h' FOR help. Type '\c' TO clear the buffer.
  2.  
  3. mysql> USE serwisdb;
  4. DATABASE changed
  5. mysql> DESCRIBE spedytorzy;
  6. +-------------+--------------+------+-----+---------+----------------+
  7. | FIELD | Type | NULL | KEY | DEFAULT | Extra |
  8. +-------------+--------------+------+-----+---------+----------------+
  9. | IDSP | int(10) | | PRI | NULL | AUTO_INCREMENT |
  10. | SP_IDK_DANE | varchar(100) | YES | | NULL | |
  11. | SP_IDK_F | varchar(100) | YES | | NULL | |
  12. | SP_IDK_A | blob | YES | | NULL | |
  13. | SP_IDK_E | varchar(100) | YES | | NULL | |
  14. | SP_IDK_T | varchar(30) | YES | | NULL | |
  15. | SP_IDK_AW | blob | YES | | NULL | |
  16. | SP_IDK_M | varchar(30) | YES | | NULL | |
  17. +-------------+--------------+------+-----+---------+----------------+
  18. 8 rows IN SET (0.03 sec)
  19.  
  20. mysql>



a powyzszy skrypt pokaze cos takiego

  1. <?xml version="1.0" ?>
  2. - <root>
  3. - <spedytorzy>
  4.  <IDSP>3</IDSP>
  5.  <SP_IDK_DANE>Schenker</SP_IDK_DANE>
  6.  <SP_IDK_F>Schenker Logistics</SP_IDK_F>
  7.  <SP_IDK_A>adres</SP_IDK_A>
  8.  <SP_IDK_E>email</SP_IDK_E>
  9.  <SP_IDK_T>telefon</SP_IDK_T>
  10.  <SP_IDK_AW>blob</SP_IDK_AW>
  11.  <SP_IDK_M>miasto</SP_IDK_M>
  12.  </spedytorzy>
  13. - <spedytorzy>
  14.  <IDSP>4</IDSP>
  15.  <SP_IDK_DANE>Stolica</SP_IDK_DANE>
  16.  <SP_IDK_F>Stolica</SP_IDK_F>
  17.  <SP_IDK_A>Spółdzielcza 2</SP_IDK_A>
  18.  <SP_IDK_E>brak</SP_IDK_E>
  19.  <SP_IDK_T></SP_IDK_T>
  20.  <SP_IDK_AW>inne</SP_IDK_AW>
  21.  <SP_IDK_M>pryk</SP_IDK_M>
  22.  </spedytorzy>
  23. - <spedytorzy>
  24.  <IDSP>0</IDSP>
  25.  <SP_IDK_DANE>lokalny</SP_IDK_DANE>
  26.  <SP_IDK_F>lokalny</SP_IDK_F>
  27.  <SP_IDK_A />
  28.  <SP_IDK_E />
  29.  <SP_IDK_T />
  30.  <SP_IDK_AW />
  31.  <SP_IDK_M />
  32.  </spedytorzy>
  33.  </root>


teraz chyba parsing bedzie latwiejszy do wykonania. Widac przeciez znaczniki XML, czego chciec wiecej. Nic tylko obrabiac smile.gif

Pozdrawiam


--------------------
"Who controls the past controls the future. Who controls the present controls the past. "
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 - 18:06