<?xml version="1.0" encoding="utf-8"?> <katalog> <produkty> <produkt id="ART4WOACZ0001" nazwa="PĹ�YTA CZYSZCÄ„CA NAPĘD CD-ROM/DVD-ROM Z PĹ�YNEM" producent="4WO" grupa="ART-ACZ" gwarancja="G012M" cena_netto="8,63" dostepny="ponad 30" data="2007-07-30" na_zamowienie="N" oferta_specjalna="N" > <zdjecia> <zdjecie plik="/Pictures/ART/ACZ/ART4WOACZ0001/1.jpg" domyslne="1" data="2007-07-26" /> </zdjecia> <technika> <parametr nazwa="Kod Producenta" opis="02805" jm="" typ="varchar" /> <parametr nazwa="Opis" opis="PĹ‚yta ze szczotkami do czyszczenia gĹ‚owicy lasera w napÄ™dach CD-ROM / DVD-ROM" jm="" typ="varchar" /> <parametr nazwa="Zastosowanie" opis="Czyszczenie gĹ‚owic lasera w napÄ™dach CD-ROM / DVD-ROM" jm="" typ="varchar" /> <parametr nazwa="Ilość sztuk" opis="1" jm="szt." typ="int" /> <parametr nazwa="Informacje dodatkowe" opis="Metoda czyszczenia na mokro; w zestawie pojemnik z pĹ‚ynem czyszczÄ…cym; multimedialna prezentacja wyĹ›wietlana podczas czyszczenia napÄ™du." jm="" typ="varchar" /> </technika> </produkt> <produkt id="ART4WOACZ0002" nazwa="PĹ�YTA CZYSZCZÄ„CA NAPĘD CD-ROM/DVD-ROM" producent="4WO" grupa="ART-ACZ" gwarancja="G012M" cena_netto="6,13" dostepny="ponad 30" data="2007-07-30" na_zamowienie="N" oferta_specjalna="N" > <zdjecia> <zdjecie plik="/Pictures/ART/ACZ/ART4WOACZ0002/1.jpg" domyslne="1" data="2007-07-26" /> </zdjecia> <technika> <parametr nazwa="Kod Producenta" opis="02807" jm="" typ="varchar" /> <parametr nazwa="Opis" opis="PĹ‚yta ze szczotkami do czyszczenia gĹ‚owicy lasera w napÄ™dach CD-ROM / DVD-ROM." jm="" typ="varchar" /> <parametr nazwa="Zastosowanie" opis="Czyszczenie gĹ‚owic lasera w napÄ™dach CD-ROM / DVD-ROM" jm="" typ="varchar" /> <parametr nazwa="Ilość sztuk" opis="1" jm="szt." typ="int" /> <parametr nazwa="Informacje dodatkowe" opis="Metoda czyszczenia na sucho; multimedialna prezentacja wyĹ›wietlana podczas czyszczenia napÄ™du." jm="" typ="varchar" /> </technika> </produkt> </produkty> </katalog>
chcę go przerobić na plik txt i mam taki skrypt:
<?php $katalog = simplexml_load_file('produkty.xml'); foreach($katalog -> produkty -> produkt as $produkt){ $tresc .= $produkt['id'] . "|"; $tresc .= $produkt['nazwa'] . "|"; foreach($katalog -> produkty -> produkt -> zdjecia -> zdjecie as $zdjecie){ $tresc .= $zdjecie['plik']; } $tresc .= "|"; foreach($katalog -> produkty -> produkt -> technika -> parametr as $parametr){ $tresc .= '<b>' . $parametr['nazwa'] . ': </b> ' . $parametr['opis'] . '<br>'; } $tresc .= "\n"; } ?>
id oraz nazwa są pobierane prawidłowo. problem polega na tym że skrypt pobiera zdjęcie i parametr z pierwszego produktu i w pliku tekstowym są one identyczne dla wszystkich pozycji czyli:
zamiast:
id1|nazwa1|zdjęcie1|opis1
id2|nazwa2|zdjęcie2|opis2
mam:
id1|nazwa1|zdjęcie1|opis1
id2|nazwa2|zdjęcie1|opis1
-------------------------------------------------
już sobie poradziłem tak:
<?php $katalog = simplexml_load_file('produkty.xml'); foreach($katalog -> produkty -> produkt as $produkt){ $tresc .= $produkt['id'] . "|"; $tresc .= $produkt['nazwa'] . "|"; foreach($produkt -> zdjecia -> zdjecie as $zdjecie){ $tresc .= $zdjecie['plik']; } $tresc .= "|"; foreach($produkt -> technika -> parametr as $parametr){ $tresc .= '<b>' . $parametr['nazwa'] . ': </b> ' . $parametr['opis'] . '<br>'; } $tresc .= "\n"; } ?>