Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [xml][php] Otwieranie pliku xml
Forum PHP.pl > Forum > XML, AJAX
motor
Chce otworzyć plik xml do tej pory robiłem to za pomocą simplexml ale niestety na nowym serwerze nie ma tej funkcji myślałem o Dom ale co bym nie robił nie wychodzi smile.gif Proszę o pomoc bo nie wiem jak już się do tego zabrać

$katalog = simplexml_load_file('plik.xml');
foreach($katalog->oferty->oferta as $key=>$oferta){

$produktkod= ''. $oferta[id].'' ;
$cena= ''. $oferta[cena].'' ;

print"$produktkod $cena<br>";

}

Mój plik XML ma taką budowę
  1. - <katalog>
  2. - <oferty>
  3.  <oferta id="ETA0176" cena="7.67" />
  4.  <oferta id="SZA0120" cena="5.67"/>
nospor
Najpierw piszesz:
Cytat
... robiłem to za pomocą simplexml ale niestety na nowym serwerze nie ma tej funkcji myślałem o Dom ale co bym nie robił nie wychodzi

A potem pokazujesz to co probowales:
Cytat
$katalog = simplexml_load_file('plik.xml');

No to skoro nie masz simplexml to jakim nibyc cudem ma ci to dzialac? Skoro chciales uzyc DOM to jakim cudem nadal uzywasz simplexml tongue.gif
Uruchom manuala php, wpisz do wyszukiwarki slowo kluczowe DOM a zobaczysz jak to sie robi przy uzyciu DOM
motor
nie to nie tak smile.gif
pokazałem jak to robiłem za pomocą simplexm na temat DOM nic nie wiem i nie wiem jak się do tego zabrać znalazłem w necie jakieś strzępy wiadomości ale nic mi z nich nie wychodziło inie wiem jak się po prostu za to zabrać
nospor
No to tak czy siak chyba napisalem co masz zrobic:
Cytat
Uruchom manuala php, wpisz do wyszukiwarki slowo kluczowe DOM a zobaczysz jak to sie robi przy uzyciu DOM

smile.gif

Ja pare dni temu sam nie wiedzialem nic o DOM w php, zrobilem to co ci napisalem i juz wiem smile.gif

ps: pozatym w necie jest duzo klas, ktore przy uzyciu DOM sprowadzają xml do sensownej postaci. Poszukaj np. na phpclasses.org
motor
Znalazłem coś takiego
  1. <?php
  2. $plik="plik.xml";
  3.  function tag_start($parser, $attr, $params){ // 1
  4. echo 'Znaleziono nowy tag: '.$attr.' z parametrami ';
  5. print_r($params);
  6.  
  7. echo '<br>';
  8.  }
  9.  
  10.  function tag_end($parser, $attr){ // 2
  11. echo 'Koniec tagu '.$attr.'<br>';
  12.  }
  13.  
  14.  $parser = xml_parser_create(); // 3
  15.  
  16.  xml_set_element_handler($parser, 'tag_start', 'tag_end'); // 4
  17.  
  18.  if(!($fp = fopen($plik, "r"))) { // 5
  19. die("Nie można otworzyć podanego pliku XML!!!");
  20.  }
  21.  
  22.  while($data = fread($fp, 4096)) {
  23. if(!xml_parse($parser, $data, feof($fp))){ // 6
  24.  die(sprintf("Błąd XML: %s w linii %d",
  25.  xml_error_string(xml_get_error_code($_parser)),
  26.  xml_get_current_line_number($parser)));
  27.  }
  28. }
  29.  xml_parser_free($parser); // 7
  30. ?>


Efekt taki
Znaleziono nowy tag: KATALOG z parametrami Array ( [ID] => STRI120 [CENA] => 5.67 [STAN] => 1)

jak to rozpisać żeby np $idproduktu = "STRI120"
bo chcę te dane wrzucić do bazy
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.