Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [xml][php] Otwieranie pliku xml
motor
post
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

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


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 (IMG:http://forum.php.pl/style_emoticons/default/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"/>


Ten post edytował motor 11.11.2006, 12:08:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Uruchom manuala php, wpisz do wyszukiwarki slowo kluczowe DOM a zobaczysz jak to sie robi przy uzyciu DOM
Go to the top of the page
+Quote Post
motor
post
Post #3





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

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


nie to nie tak (IMG:http://forum.php.pl/style_emoticons/default/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ć

Ten post edytował motor 11.11.2006, 17:39:58
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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

(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ja pare dni temu sam nie wiedzialem nic o DOM w php, zrobilem to co ci napisalem i juz wiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

ps: pozatym w necie jest duzo klas, ktore przy uzyciu DOM sprowadzają xml do sensownej postaci. Poszukaj np. na phpclasses.org
Go to the top of the page
+Quote Post
motor
post
Post #5





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 15.12.2005

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


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

Ten post edytował motor 12.11.2006, 13:18:42
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 03:49