Odczytem danych z pliku XML zajmie się nowa funkcja simplexml_load_file wprowadzona w php 5.
Jest ona przełomem w odczycie danych z XML do PHP, dzięki niej jest to banalnie proste.
Oto nasz przykładowy plik XML o nazwie test.xml
<klienci>
<klient>
<nazwa>Nazwa nr 1</nazwa>
<adres>Ulica 1/1</adres>
<zamowienie>
<produkt sztuk="3">Produkt 1</produkt>
<produkt sztuk="1">Produkt 2</produkt>
</zamowienie>
</klient>
<klient>
<nazwa>Nazwa nr 2</nazwa>
<adres>Ulica 2/2</adres>
<zamowienie>
<produkt sztuk="10000">Produkt 1</produkt>
<produkt sztuk="500">Produkt 3</produkt>
<produkt sztuk="5">Produkt 4</produkt>
</zamowienie>
</klient>
</klienci>
Jak widać konstrukcja zawiera klientów oraz przypisane do nich zamówienia.
Aby przedstawić te dane z pliku XML w postaci HTML przyjaznej użytkownikowi wykorzystamy kod z Listingu 1.0.
Konstrukcja kodu jest bardzo prosta wykonywane są 2 pętle dzięki którym dane zostaną wyświetlone użytkownikowi w przyjazny sposób.
Teraz już wiecie w jak prosty sposób można stworzyć własny czytnik plików XML oraz wiadomości RSS tak chętnie i często udostępnianych.
Listing
// LISTING 1.0
<?php
echo 'Spis klientów: <br/>';
// pobieramy zawartość pliku test.xml do tablicy $klienci
$klienci = simplexml_load_file('test.xml');
// wykonywana jest pętla wyciągająca dane w sposób klucz->wartosc
foreach($klienci -> klient as $klient){
echo 'Nazwa klienta: '.$klient -> nazwa.'; Adres: '.$klient -> adres.'<br/>';
echo 'Szczegóły zamówienia: <br/>';
//aby wyciągnąć zamówienia przypisane każdemu klientowi wykonamy kolejną petle po zamówieniach
foreach($klient -> zamowienie -> produkt as $produkt){
echo $produkt['sztuk'].' sztuk produktu o nazwie "'.$produkt.'"<br/>';
//zamknięcie pętli z zamówieniami
}
echo '<hr/>';// wstawienie lini oddzielającej pomiędzy klientami
// zamknięcie pętli z klientami
}
?>
Ranga: Administrator serwisu Punktów: 0