![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 31.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z wczytaniem czegoś takiego:
<?xml version="1.0" encoding="iso-8859-2"?> <plik> <lista_ofert> <dzial tab="kategoria" typ="rodzaj"> <oferta> <id>400</id> <cena waluta="PLN">1234</cena> <param nazwa="wojewodztwo" typ="text">Mazowieckie</param> <param nazwa="miasto" typ="text">Warszawa</param> <param nazwa="dzielnica" typ="text">Żoliborz</param> <param nazwa="ulica" typ="text">Rudawska</param> <param nazwa="opis" typ="text"> <linia>treść jakaśtam treść jakaśtam</linia> <linia>treść jakaśtam treść jakaśtam</linia> <linia>treść jakaśtam treść jakaśtam</linia> <linia>treść jakaśtam treść jakaśtam</linia> </param> <param nazwa="email" typ="text">mail@mail.pl</param> <param nazwa="zdjecie1" typ="text">1.jpg</param> <param nazwa="zdjecie2" typ="text">2.jpg</param> <param nazwa="zdjecie3" typ="text">3.jpg</param> <param nazwa="zdjecie4" typ="text">4.jpg</param> </oferta> <oferta> <id>143</id> <cena waluta="PLN">1234</cena> <param nazwa="wojewodztwo" typ="text">Mazowieckie</param> <param nazwa="miasto" typ="text">Warszawa</param> <param nazwa="dzielnica" typ="text">Żoliborz</param> <param nazwa="ulica" typ="text">Rudawska</param> <param nazwa="opis" typ="text"> <linia>treść jakaśtam treść jakaśtam</linia> <linia>treść jakaśtam treść jakaśtam</linia> </param> <param nazwa="email" typ="text">mail@mail.pl</param> <param nazwa="zdjecie1" typ="text">1.jpg</param> <param nazwa="zdjecie2" typ="text">2.jpg</param> <param nazwa="zdjecie3" typ="text">3.jpg</param> <param nazwa="zdjecie4" typ="text">4.jpg</param> <param nazwa="zdjecie5" typ="text">5.jpg</param> <param nazwa="zdjecie6" typ="text">6.jpg</param> </oferta> </dział> </lista_ofert> </plik> A oto skrypt, który napisałem, niestety potrafię odczytać tylko ID i CENA. Do reszty nie wiem jak się dobrać ![]() Bardzo dziękuję za pomoc we wczytaniu wojewodztwa i opisu z załączonego pliku XML <?php class oferta{ var $id; var $nr; var $cena; var $wojewodztwo; var $miasto; var $dzielnica; var $ulica; var $opis; function oferta($id){ $this -> id = $id; } } $int = 0; $oferty = array(); $czy_oferta = 0; function tag_start($parser, $attr, $params){ global $act_tag, $int, $oferty, $czy_oferta; if($attr == 'OFERTA' && $czy_oferta == 1){ die('Błąd: Niedozwolone zagnieżdżenie redaktorów! :]<br>'); }elseif($attr == 'OFERTA' && $czy_oferta == 0){ $oferty[$int] = new oferta($int); $czy_oferta = 1; } if($czy_oferta == 1){ $act_tag = $attr; } } function tag_text($parser, $text){ global $act_tag, $int, $oferty, $czy_oferta; if($czy_oferta == 1){ switch($act_tag){ case 'ID': $oferty[$int] -> nr .= $text; break; case 'CENA': $oferty[$int] -> cena .= $text; break; // case 'LINE': $oferty[$int] -> opis .= $text; break; } } } function tag_end($parser, $attr){ global $act_tag, $int, $czy_oferta; if($attr == 'OFERTA' && $czy_oferta == 1){ $int++; $czy_oferta = 0; } } $parser = xml_parser_create(); xml_set_element_handler($parser, 'tag_start', 'tag_end'); xml_set_character_data_handler($parser, 'tag_text'); if(!($fp = fopen('oferty.xml', 'r'))) { die('Nie można otworzyć podanego pliku XML!!!'); } while($data = fread($fp, 4096)) { if(!xml_parse($parser, $data, feof($fp))){ die(sprintf("Błąd XML: %s w linii %d", xml_error_string(xml_get_error_code($_parser)), xml_get_current_line_number($parser))); } } xml_parser_free($parser); echo '<center>OFERTY</center><br>'; foreach($oferty as $oferta){ echo '<hr> <b>Nr oferty</b>: '.$oferta -> nr.'<br> <b>Cena</b>: '.$oferta -> cena.'<br> <b>Wojewodztwo</b>: '.$oferta -> wojewodztwo.'</a><br> <b>Opis</b>: '.$oferta -> opis.'</a><br> '; } ?> |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:00 |