Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z parsowaniem pliku XML - XML do CSV
Forum PHP.pl > Forum > Przedszkole
Spooky2
NIe mam praktycznie zadnego doswiadczenia z parsowaniem plikow xml. Chcialbym przerzucic sobie zawartosc pliku xml do CSV. Jak to ugryzc?
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <teryt>
  3. <catalog name="SIMC" type="all">
  4. <row>
  5. <col name="WOJ">30</col>
  6. <col name="NAZWA_WOJ">WIELKOPOLSKIE</col>
  7. <col name="POW">26</col>
  8. <col name="NAZWA_POW">śremski</col>
  9. <col name="GMI">03</col>
  10. <col name="NAZWA_GMN">Książ Wielkopolski</col>
  11. <col name="RODZ_GMN">5</col>
  12. <col name="NAZWA_RODZ_GMN">obszar wiejski gminy miejsko-wiejskiej</col>
  13. <col name="NAZWA">Brzóstownia</col>
  14. <col name="SYM">0587146</col>
  15. <col name="SYMPOD">0587146</col>
  16. <col name="KOD_RM">01</col>
  17. <col name="NAZWA_RM">wieś </col>
  18. </row>



Mam kawalek kodu, czytajacy xmla, ale jak teraz wyluskac interesujace mnie dane (miedzy tagami <col></col>)

  1. function contents($parser, $data){ // 2
  2. echo 'DANE '.$data.'<br>';
  3. }
  4.  
  5. function tag_start($parser, $data, $params){ // 1
  6. echo 'Znaleziono nowy tag: '.$data.' z parametrami ';
  7. print_r($params);
  8. echo '<br>';
  9.  
  10. }
  11.  
  12. function tag_end($parser, $data){ // 2
  13. echo 'Koniec tagu '.$data.'<br>';
  14. }
  15.  
  16. $parser = xml_parser_create(); // 3
  17.  
  18. xml_set_element_handler($parser, 'tag_start', 'tag_end'); // 4
  19. xml_set_character_data_handler($parser, 'contents');
  20.  
  21. if(!($fp = fopen($file, "r"))) { // 5
  22. die("Nie można otworzyć podanego pliku XML!!!");
  23. }
  24.  
  25. while($data = fread($fp, 4096)) {
  26. if(!xml_parse($parser, $data, feof($fp))){
  27.  
  28. die(sprintf("Błąd XML: %s w linii %d",
  29. xml_error_string(xml_get_error_code($_parser)),
  30. xml_get_current_line_number($parser)));
  31. }
  32.  
cezarszl
SimpleXML
Spooky2
W porzadku. Po przejrzeniu kursu - juz mam.
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.