Extensible Markup Language (XML ) kan du organisera information på ett sätt som beskriver den information och är lätt för datorprogram att läsa . Det finns flera populära XML dialekter ( format ) , inklusive RSS , Atom , XHTML och OpenDocument . Du kan skapa egna XML- dialekt som passar dina data , och även lägga till en befintlig dialekt . PHP : Hypertext Preprocessor (PHP ) programmeringsspråk , en populär dynamisk webbsida skriptspråk , har inbyggda SimpleXML förlängning , vilket förenklar behandlingen och använder XML i dina PHP-skript . Läs ett RSS -flöde , XML-dokument kontor eller dina egna XML- dokument
Du behöver : .
XML-dokument
. PHP-skript .
PHP -kod redaktör eller textredigerare .
1 .
Ring PHP " simplexml_load_file () " funktionen i din PHP-skript . Häll den funktionen att sökväg och filnamn till var din XML -fil finns på din webbserver som funktion parameter. Tilldela funktionens returvärdet till en variabel . Funktionen öppnar din XML -fil , läser XML-innehåll , och gör XML-innehåll tillgängligt för skriptet genom att returnera ett objekt som innehåller XML. Använd följande XML- fil som heter " order. xml , " som ett exempel :
-02 " >
Carol Roberts
123 High St
Columbus
OH
43. 210
Alice Johnson
321 Main St
Columbus
OH
43. 212
presentpapper .
Camelhair Paintbrush , Medium
2
19,99
2010/04/13 <; /skickad >
Akvarell Box Set
1
49 . 99
2010-04- 26lt ; /skickad >
order. xml fil , som ligger i samma katalog som PHP-skript , är laddad och tilldelas till $ xml :
$ xml=simplexml_load_file ( "ordning . xml " ) ;
simplexml_load_file ( ) läser XML-dokument , tolkar den i en PHP SimpleXML objekt och returnerar objektet , där den kan tilldelas en variabel eller skickas som parameter till en annan funktion . I exemplet $ xml referenser roten ( yttersta ) del av filen , " ordning . "
2 .
Access rotelementet 's Child element ( den första nivån av element kapslade i rotelement ) från den rörliga innehar SimpleXML objekt genom att använda pil operatör (- > ) för att referera varje element av dess element namn . Åtkomst till XML- element kan du skriva ut ( ECHO) , tilldela variabler , eller process elementinnehållet behov . Till exempel är de komplexa " shipping " element , tillsammans med alla dess underordnade element ( element kapslade i " shipping " element ) , som tilldelats $ ship_to variabel . Texten innehållet i " kommentar " element är tilldelad $ kommentar :
$ ship_to=$ xml-> sjöfart ;
$ kommentar=$ xml-> kommentar ,
3 .
komma åt enskilda element " attribut ( namn=värde par som anges i ett element ) med hjälp associativ array syntax , vilket ger varje attribut namn för att hämta attributet värde . Till exempel är värdet av den "datum " attributet i "ordning " element , som refereras av $ XML-variabel , aktiveras på följande sätt :
$ order_date=$ xml [ ' datum ' ] ;
$ order_date innehåller nu värdet " 2010/04/02 " .
4 .
Process upprepade element i en " foreach loop , som ger dessa element till loopens array uttryck genom att referera till dem att använda pil operatören . Till exempel innehåller order. xml dokumentet skall "innehåll " element , som i sin tur innehåller två återkommande underordnade element som heter " produkt ". Hänvisningen " $ xml-> innehåll-> produkten " ger all den "produkt " element som iterable objekt ( ett objekt som kan användas för att räkna igenom en slinga ) som loopens array uttryck . Barnet delar av varje " produkt " är sedan tilldelas till variabler och visas med "echo " :
foreach ( $ xml-> innehåll-> produkt som $ post ) { $
del=$ item [ ' del '] ;
$ namn=$ post-> namn ;
$ st=$ post-> kvantitet ,
$ pris=$ post-> pris ,
echo " $ namn $ delen : $ st på \ $ $ pris \ n "; }
Observera barnet element referenser kan staplas ( som i $ xml-> innehåll-> produkter) , vilket gör att du tillgång element kapslade djupt i XML- filen med hjälp av pil operatören .
tips och varningar
PHP 's namnkonvention inte tillåter vissa tecken , till exempel bindestreck (-). Om XML-dokumentet innehåller ett element som använder dessa tecken , linda elementet namn med apostrofer och hängslen för att komma åt elementet . Till exempel , ett element som heter " publicera-datum " nås så här: $ xml-> bok-> { ' publicera aktuell " }-> år