mam taki xml:
<?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";
}
$wp = fopen("produkty.txt", 'w'); ?>
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";
}
$wp = fopen("produkty.txt", 'w'); ?>
Ten post edytował Arek00 5.12.2007, 16:10:21