Wiele serwisów i portali internetowych udostępnia treści, które możemy swobodnie zamieścić na własnej stronie bez żadnych nieprzyjemnych konsekwencji ;). Zazwyczaj jest to określony adres URL, pod którym „wyrzucane” są dane w formacie XML. Dane te możemy odczytać a następnie sformatować (html, css) i wyświetlić na stronie, w sposób przyjazny dla użytkownika.
Przykład takiej usługi znajdziecie na wortalach np.:
praca.pl/xml/9d1730f7f542c8a883062b6a6b6d5333
helion.pl/plugins/xml/lista.cgi
Aby pobrać dokument XML korzystamy z funkcji simplexml_load_file z klasy SimpleXML.
Dla przykładu przetworzymy oferty pracy z wortalu praca.pl. Analizując strukturę xml zauważymy, że każde ogłoszenie jest zawarte pomiędzy tagami <ogloszenie></ogloszenie>. Tak więc posługując się pętlą foreach uzyskamy dostęp do poszczególnych elementów drzewa w taki sposób:
1 2 3 4 |
$jobs = simplexml_load_file('http://www.praca.pl/xml/9d1730f7f542c8a883062b6a6b6d5333'); foreach ($jobs->ogloszenie as $job) { // ... } |
Dostęp do elementów zagnieżdżonych wewnątrz <ogloszenie> odbywa się za pomocą konstrukcji $element->nazwa, np:
1 2 3 4 |
echo $job->tytul; echo $job->firma->nazwa; echo $job->opis_stanowiska; // itd |
Przykład:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<html> <head> <meta charset="utf-8" /> <title> SimpleXML </title> </head> <body> <?php $jobs = simplexml_load_file('http://www.praca.pl/xml/9d1730f7f542c8a883062b6a6b6d5333'); foreach ($jobs->ogloszenie as $job) { echo '<h2>'.$job->tytul.'</h2>'; echo '<h3>'.$job->firma->nazwa.'</h3>'; echo '<p><strong>Data wygaśnięcia:</strong> '.$job->data_wygasniecia.'</p>'; echo '<p>OPIS STANOWISKA</p>'; echo '<p>'.$job->opis_stanowiska.'</p>'; echo '<p>WYMAGANIA</p>'; echo '<p>'.$job->wymagania.'</p>'; echo '<p>OFERUJEMY</p>'; echo '<p>'.$job->oferujemy.'</p>'; echo '<p>KONTAKT</p>'; echo '<p>'.$job->forma_kontaktu.'</p>'; echo '<hr />'; } ?> </body> </html> |
Do następnego! =>