Archive for November 10th, 2007

10
Nov
07

PHP with XML Data source

Berikut catatan n3tg33ks, gimana caranya membuat dan membaca data dari file xml.

Hal pertama yang perlu diperhatikan adalah, pastikan extension yang mendukung xml untuk php anda aktif. Saya pake simpleXML! Lihat di phpinfo().

simplexml.png

Untuk PHP5 settingan ini dah default.

Setelah itu saya generate file xml dengan menjalankan file php. misalnya nama file php-na create-beachfront.php. isinya kayak gini:

<?php

    $dom = new DomDocument(‘1.0’);

    $rentals = $dom->appendChild($dom->createElement(‘rentals’));

    $description = $rentals->appendChild($dom->createElement(‘description’));

    #———-

    $title = $description->appendChild($dom->createElement(‘name’));

    $title->appendChild($dom->createTextNode(‘TheBayFont’));

    #———-

    $title = $description->appendChild($dom->createElement(‘type’));

    $title->appendChild($dom->createTextNode(‘Condo’));

    #———-

    $title = $description->appendChild($dom->createElement(‘view’));

    $title->appendChild($dom->createTextNode(‘Oeanfront’));

    #———-

    $title = $description->appendChild($dom->createElement(‘space’));

    $title->appendChild($dom->createTextNode(‘1200 square feet’));

    #———–

    $title = $description->appendChild($dom->createElement(‘location’));

    $title->appendChild($dom->createTextNode(‘Long beach’));

    #———–

    $title = $description->appendChild($dom->createElement(‘price’));

    $title->appendChild($dom->createTextNode(‘1000 per week’));

    #———–

    $dom->formatOutput = true;

    $test = $dom->saveXML();

    $dom->save(‘beachFront.xml’);

    echo $test;

?>

Script di atas akan menghasilkan satu file xml dengan nama beachFront.xml.

Kemudiab saya buat file untuk membaca data dari file xml yang tercipta. Misalnya nama filenya readFromXml.php

<?php

    if(file_exists(‘beachFront.xml‘)) {

    $data = simplexml_load_file(‘beachFront.xml‘);

    # raw data in array form

    printr_r($data);

    foreach($data as $key => $dat) {

        foreach($dat as $k => $v) {

            echo $k.” : “$v;

            echo “<br />”;

        }

    }

}

?>

Hasilnya kira” seperti ini 🙂

Raw data in array form:
SimpleXMLElement Object ( [description] => SimpleXMLElement Object ( [name] => TheBayFont [type] => Condo [view] => Oeanfront [space] => 1200 square feet [location] => Long beach [price] => 1000 per week ) )

Hasil iterasi:
name : TheBayFont
type : Condo
view : Oeanfront
space : 1200 square feet
location : Long beach
price : 1000 per week

Advertisements



November 2007
S S M T W T F
« Oct   Dec »
 12
3456789
10111213141516
17181920212223
24252627282930

Top Clicks

  • None

Blog Stats

  • 18,097 hits
Advertisements