Loading:

Zaplanuj Przeprowadzke - Ściągnij Darmową Aplikację na Androida

Jak odczytać dane z pliku XML ? Jak zrobić czytnik wiadomości RSS ?

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

<?xml version="1.0" encoding="iso-8859-2"?>
<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.



Napisz Artykuł

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
}
?>


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=227

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
Fajne, przydało się:D
autor: barand | 12446 | 2011-05-24 18:17:28


    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors