Nie linczujcie mnie od razu (to mój pierwszy post).

Szukam już tydzień i mimo wszelakich opisów nie poradziłem sobie z wydawałoby się trywialnym umieszczeniem danych z xmla w bazie mysql.
Znalazłem różne parsery ale nie potrafiłem ich dostosować do swoich potrzeb.

Podaję fragment pliku XML

  1.  
  2. <ROOT>
  3. <TOWARY>
  4. <WERSJA>1.00</WERSJA>
  5. <BAZA_ZRD_NAZWA/>
  6. <TOWAR>
  7. <KOD>38G</KOD>
  8. <TYP>1</TYP>
  9. <PRODUKT>0</PRODUKT>
  10. <NUMER_KAT/>
  11. <SWW/>
  12. <EAN/>
  13. <NAZWA>Płyn do trwałej ondulacji 130ml. - JOANNA</NAZWA>
  14. <GRUPA> \ JOANNA</GRUPA>
  15. <URL/>
  16. <KATEGORIA_SPRZEDAZY>
  17. <OPIS_KATEGORII/>
  18. </KATEGORIA_SPRZEDAZY>
  19. <KATEGORIA_ZAKUPOW>
  20. <OPIS_KATEGORII/>
  21. </KATEGORIA_ZAKUPOW>
  22. <NIEAKTYWNY>0</NIEAKTYWNY>
  23. <OPIS/>
  24. <EDYCJA_NAZWY>0</EDYCJA_NAZWY>
  25. <KOPIUJ_OPIS>0</KOPIUJ_OPIS>
  26. <EDYCJA_OPISU>0</EDYCJA_OPISU>
  27. <JM>SZT</JM>
  28. <JMZ>SZT</JMZ>
  29. <JM_PRZELICZNIK_L>1.00</JM_PRZELICZNIK_L>
  30. <JM_PRZELICZNIK_M>1</JM_PRZELICZNIK_M>
  31. <JM_CALKOWITE>0</JM_CALKOWITE>
  32. <KAUCJA>0</KAUCJA>
  33. <UDOSTEPNIAJ_W_CENNIKU>0</UDOSTEPNIAJ_W_CENNIKU>
  34. <E_SKLEP>0</E_SKLEP>
  35. <TYP_MINIMUM>0</TYP_MINIMUM>
  36. <MIN_CENA_MARZA>0.000</MIN_CENA_MARZA>
  37. <WALUTA>
  38. <SYMBOL>PLN</SYMBOL>
  39. <KURS_NUMER>2</KURS_NUMER>
  40. <KURS_L>1.00</KURS_L>
  41. <KURS_M>1</KURS_M>
  42. </WALUTA>
  43. <KOSZT_USLUGI>
  44. <WALUTA>0.00</WALUTA>
  45. <WARTOSC>0.00</WARTOSC>
  46. <TYP>1</TYP>
  47. </KOSZT_USLUGI>
  48. <DOSTAWCA>
  49. <KOD_U_DOSTAWCY/>
  50. </DOSTAWCA>
  51. <ILOSC_MIN>0.0000</ILOSC_MIN>
  52. <ILOSC_MIN_JM>SZT</ILOSC_MIN_JM>
  53. <ILOSC_MAX>0.0000</ILOSC_MAX>
  54. <ILOSC_MAX_JM>SZT</ILOSC_MAX_JM>
  55. <ILOSC_ZAM>0.0000</ILOSC_ZAM>
  56. <ILOSC_ZAM_JM>SZT</ILOSC_ZAM_JM>
  57. <STAWKA_VAT>
  58. <STAWKA>22.00</STAWKA>
  59. <FLAGA>2</FLAGA>
  60. <ZRODLOWA>0.00</ZRODLOWA>
  61. </STAWKA_VAT>
  62. <STAWKA_VAT_ZAKUPU>
  63. <STAWKA>22.00</STAWKA>
  64. <FLAGA>2</FLAGA>
  65. <ZRODLOWA>0.00</ZRODLOWA>
  66. </STAWKA_VAT_ZAKUPU>
  67. <NUMER_CENY>2</NUMER_CENY>
  68. <CENA_DOMYSLNA>hurtowa 1</CENA_DOMYSLNA>
  69. <CENY>
  70. <CENA>
  71. <TYP>1</TYP>
  72. <NUMER>1</NUMER>
  73. <NAZWA>zakupu</NAZWA>
  74. <WARTOSC>2.44</WARTOSC>
  75. <SYMBOL_WALUTY>PLN</SYMBOL_WALUTY>
  76. <ZAOKRAGLENIE>0.01</ZAOKRAGLENIE>
  77. <MARZA>0.00</MARZA>
  78. <MARZAWSTU>0.00</MARZAWSTU>
  79. <OFFSET>0.00</OFFSET>
  80. <AKTUALIZACJA>0</AKTUALIZACJA>
  81. </CENA>
  82. <CENA>
  83. <TYP>1</TYP>
  84. <NUMER>2</NUMER>
  85. <NAZWA>hurtowa 1</NAZWA>
  86. <WARTOSC>3.48</WARTOSC>
  87. <SYMBOL_WALUTY>PLN</SYMBOL_WALUTY>
  88. <ZAOKRAGLENIE>0.01</ZAOKRAGLENIE>
  89. <MARZA>42.62</MARZA>
  90. <MARZAWSTU>29.88</MARZAWSTU>
  91. <OFFSET>0.00</OFFSET>
  92. <AKTUALIZACJA>0</AKTUALIZACJA>
  93. </CENA>
  94. <CENA>
  95. <TYP>1</TYP>
  96. <NUMER>3</NUMER>
  97. <NAZWA>hurtowa 2</NAZWA>
  98. <WARTOSC>0.00</WARTOSC>
  99. <SYMBOL_WALUTY>PLN</SYMBOL_WALUTY>
  100. <ZAOKRAGLENIE>0.01</ZAOKRAGLENIE>
  101. <MARZA>-100.00</MARZA>
  102. <MARZAWSTU>100.00</MARZAWSTU>
  103. <OFFSET>0.00</OFFSET>
  104. <AKTUALIZACJA>0</AKTUALIZACJA>
  105. </CENA>
  106. <CENA>
  107. <TYP>1</TYP>
  108. <NUMER>4</NUMER>
  109. <NAZWA>hurtowa 3</NAZWA>
  110. <WARTOSC>0.00</WARTOSC>
  111. <SYMBOL_WALUTY>PLN</SYMBOL_WALUTY>
  112. <ZAOKRAGLENIE>0.01</ZAOKRAGLENIE>
  113. <MARZA>-100.00</MARZA>
  114. <MARZAWSTU>100.00</MARZAWSTU>
  115. <OFFSET>0.00</OFFSET>
  116. <AKTUALIZACJA>0</AKTUALIZACJA>
  117. </CENA>
  118. <CENA>
  119. <TYP>2</TYP>
  120. <NUMER>5</NUMER>
  121. <NAZWA>detaliczna</NAZWA>
  122. <WARTOSC>4.24</WARTOSC>
  123. <SYMBOL_WALUTY>PLN</SYMBOL_WALUTY>
  124. <ZAOKRAGLENIE>0.01</ZAOKRAGLENIE>
  125. <MARZA>42.62</MARZA>
  126. <MARZAWSTU>29.88</MARZAWSTU>
  127. <OFFSET>0.00</OFFSET>
  128. <AKTUALIZACJA>0</AKTUALIZACJA>
  129. </CENA>
  130. </CENY>
  131. <ZAMIENNIKI/>
  132. </TOWAR>
  133. <TOWAR>
  134. <KOD>5269G</KOD>
  135. <TYP>1</TYP>
  136. <PRODUKT>0</PRODUKT>
  137. <NUMER_KAT/>
  138. <SWW/>
  139. <EAN/>
  140. <NAZWA>Pomkpka z nakrętką - JOANNA</NAZWA>
  141. <GRUPA> \ JOANNA</GRUPA>
  142. <URL/>
  143. <KATEGORIA_SPRZEDAZY>
  144. <OPIS_KATEGORII/>
  145. </KATEGORIA_SPRZEDAZY>
  146. <KATEGORIA_ZAKUPOW>
  147. <OPIS_KATEGORII/>
  148. </KATEGORIA_ZAKUPOW>
  149. <NIEAKTYWNY>0</NIEAKTYWNY>
  150. <OPIS/>
  151. <EDYCJA_NAZWY>0</EDYCJA_NAZWY>
  152. <KOPIUJ_OPIS>0</KOPIUJ_OPIS>
  153. <EDYCJA_OPISU>0</EDYCJA_OPISU>
  154. <JM>SZT</JM>
  155. <JMZ>SZT</JMZ>
  156. <JM_PRZELICZNIK_L>1.00</JM_PRZELICZNIK_L>
  157. <JM_PRZELICZNIK_M>1</JM_PRZELICZNIK_M>
  158. <JM_CALKOWITE>0</JM_CALKOWITE>
  159. <KAUCJA>0</KAUCJA>
  160. <UDOSTEPNIAJ_W_CENNIKU>0</UDOSTEPNIAJ_W_CENNIKU>
  161. <E_SKLEP>0</E_SKLEP>
  162. <TYP_MINIMUM>0</TYP_MINIMUM>
  163. <MIN_CENA_MARZA>0.000</MIN_CENA_MARZA>
  164. <WALUTA>
  165. <SYMBOL>PLN</SYMBOL>
  166. <KURS_NUMER>2</KURS_NUMER>
  167. <KURS_L>1.00</KURS_L>
  168. <KURS_M>1</KURS_M>
  169. </WALUTA>
  170. <KOSZT_USLUGI>
  171. <WALUTA>0.00</WALUTA>
  172. <WARTOSC>0.00</WARTOSC>
  173. <TYP>1</TYP>
  174. </KOSZT_USLUGI>
  175. <DOSTAWCA>
  176. <KOD_U_DOSTAWCY/>
  177. </DOSTAWCA>
  178. <ILOSC_MIN>0.0000</ILOSC_MIN>
  179. <ILOSC_MIN_JM>SZT</ILOSC_MIN_JM>
  180. <ILOSC_MAX>0.0000</ILOSC_MAX>
  181. <ILOSC_MAX_JM>SZT</ILOSC_MAX_JM>
  182. <ILOSC_ZAM>0.0000</ILOSC_ZAM>
  183. <ILOSC_ZAM_JM>SZT</ILOSC_ZAM_JM>
  184. <STAWKA_VAT>
  185. <STAWKA>22.00</STAWKA>
  186. <FLAGA>2</FLAGA>
  187. <ZRODLOWA>0.00</ZRODLOWA>
  188. </STAWKA_VAT>
  189. <STAWKA_VAT_ZAKUPU>
  190. <STAWKA>22.00</STAWKA>
  191. <FLAGA>2</FLAGA>
  192. <ZRODLOWA>0.00</ZRODLOWA>
  193. </STAWKA_VAT_ZAKUPU>
  194. <NUMER_CENY>2</NUMER_CENY>
  195. <CENA_DOMYSLNA>hurtowa 1</CENA_DOMYSLNA>
  196. <CENY>
  197. <CENA>
  198. <TYP>1</TYP>
  199. <NUMER>1</NUMER>
  200. <NAZWA>zakupu</NAZWA>
  201. <WARTOSC>0.05</WARTOSC>
  202. <SYMBOL_WALUTY>PLN</SYMBOL_WALUTY>
  203. <ZAOKRAGLENIE>0.01</ZAOKRAGLENIE>
  204. <MARZA>0.00</MARZA>
  205. <MARZAWSTU>0.00</MARZAWSTU>
  206. <OFFSET>0.00</OFFSET>
  207. <AKTUALIZACJA>0</AKTUALIZACJA>
  208. </CENA>
  209. <CENA>
  210. <TYP>1</TYP>
  211. <NUMER>2</NUMER>
  212. <NAZWA>hurtowa 1</NAZWA>
  213. <WARTOSC>0.03</WARTOSC>
  214. <SYMBOL_WALUTY>PLN</SYMBOL_WALUTY>
  215. <ZAOKRAGLENIE>0.01</ZAOKRAGLENIE>
  216. <MARZA>-40.00</MARZA>
  217. <MARZAWSTU>-66.67</MARZAWSTU>
  218. <OFFSET>0.00</OFFSET>
  219. <AKTUALIZACJA>0</AKTUALIZACJA>
  220. </CENA>
  221. <CENA>
  222. <TYP>1</TYP>
  223. <NUMER>3</NUMER>
  224. <NAZWA>hurtowa 2</NAZWA>
  225. <WARTOSC>0.00</WARTOSC>
  226. <SYMBOL_WALUTY>PLN</SYMBOL_WALUTY>
  227. <ZAOKRAGLENIE>0.01</ZAOKRAGLENIE>
  228. <MARZA>-100.00</MARZA>
  229. <MARZAWSTU>100.00</MARZAWSTU>
  230. <OFFSET>0.00</OFFSET>
  231. <AKTUALIZACJA>0</AKTUALIZACJA>
  232. </CENA>
  233. <CENA>
  234. <TYP>1</TYP>
  235. <NUMER>4</NUMER>
  236. <NAZWA>hurtowa 3</NAZWA>
  237. <WARTOSC>0.00</WARTOSC>
  238. <SYMBOL_WALUTY>PLN</SYMBOL_WALUTY>
  239. <ZAOKRAGLENIE>0.01</ZAOKRAGLENIE>
  240. <MARZA>-100.00</MARZA>
  241. <MARZAWSTU>100.00</MARZAWSTU>
  242. <OFFSET>0.00</OFFSET>
  243. <AKTUALIZACJA>0</AKTUALIZACJA>
  244. </CENA>
  245. <CENA>
  246. <TYP>2</TYP>
  247. <NUMER>5</NUMER>
  248. <NAZWA>detaliczna</NAZWA>
  249. <WARTOSC>0.04</WARTOSC>
  250. <SYMBOL_WALUTY>PLN</SYMBOL_WALUTY>
  251. <ZAOKRAGLENIE>0.01</ZAOKRAGLENIE>
  252. <MARZA>-40.00</MARZA>
  253. <MARZAWSTU>-66.67</MARZAWSTU>
  254. <OFFSET>0.00</OFFSET>
  255. <AKTUALIZACJA>0</AKTUALIZACJA>
  256. </CENA>
  257. </CENY>
  258. <ZAMIENNIKI/>
  259. </TOWAR>
  260.  
  261.  

Są to dwa rekordy z których chciałbym wybrać tylko niektóre dane
mianowicie
kod
nazwa
cena
i to dodać do tablicy - ewentualnie bezpośrednio do mysqla. Z php i mysqlem nigdy nie miałem problemów. Zasady są dla mnie oczywiste. Jednak funkcje do obsługi xmla to masakra.

Muszę zaznaczyć również, że problemem jest również PHP Version 4.4.9
Spotkałem rozwiązanie tego problemu na php5 jednak brakuje mi dostępnych funkcji.

Jeżeli ktoś czuje się na siłach niech coś pomoże albo skieruje mnie na podobny przykład. sciana.gif sciana.gif sadsmiley02.gif

Zrobiłem bardzo prosta machinacja. Aczkolwiek kosztowało to mnie sporo myślenia.
polecam instrukcję na
http://museum.webcity.pl/webcity/artykuly.php/t/34

Po kilku przeróbkach działa jak należy - temat który niestety trzeba zrozumieć.