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 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 tongue.gif
Uruchom manuala php, wpisz do wyszukiwarki slowo kluczowe DOM a zobaczysz jak to sie robi przy uzyciu DOM


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 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

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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 21:49