Mengambil data dari XML

XML kependekan dari eXtensible Markup Language. XML memiliki format yang bertujuan untuk mempermudah pertukaran data antar system.

Jika anda belum pernah melihat kayak apa muke XML, berikut ini contoh dari XML

 

<film>
    <judul>terminalmotor</judul>
    <tahun>1998</tahun>
    <pemeran>
        <aktorUtama>Arnold Swasanaseger</aktorUtama>
        <pemeranPembantu id="1">Iyem</pemeranPembantu >
        <pemeranPembantu id="2">yu Paijah</pemeranPembantu >
        <pemeranPembantu id="3">Romlah</pemeranPembantu >
    </pemeran>
</film>

 

Nah, mirip html khan ?

Individual data disebut node, misalnya "pemeran". Selanjutnya data2 didalam "pemeran" (yaitu : aktorUtama dan pemeranPembantu) disebut child node-nya "pemeran"

Data adalah informasi yg terdapat diantara tag, contoh terminalmotor. Sedangkan attribute adalah variable yang menempel pada tag, contoh 1,2,3 yg merupakan atribut id dari elemen pemeranPembantu.

Sekarang kita akan susun sebuah program AS3 untuk me-load data dari file XML external.

Siapkan dulu file XML-nya, kasih nama aja data.xml yg berisi tag diatas.

Trus buka Flash CS3 (atau CS4) anda, baik yg asli maupun bajakan, kita akan mulai mengetik program. Jangan lupa siapkan secangir kopi panas.

 

Berhubung program yg kita susun hanya singkat, kita akan pakai time line programming ajah.. (cara klasik, kode ditulis di time line bukan di file terpisah)
Bikin file flash baru dan beri nama bukaXML.fla atau nama lain, apalah arti sebuah nama.

Frame 1 kasih action sbb :

 

Show Plain Text
  1. var req:URLRequest=new URLRequest("data.xml");
  2. var ldr:URLLoader=new URLLoader();
  3. var datanya:XML;
  4.  
  5. //variable dibawah utk menyimpan hasil pembacaan dari file XMl
  6. var judul:String;
  7. var aktor:String;
  8. var pembantu:Array=new Array();
  9.  
  10. ldr.load(req);
  11. ldr.addEventListener(Event.COMPLETE,XMLCompleted);
  12.  
  13. function XMLCompleted(e:Event):void {
  14.     datanya=XML(e.target.data);
  15.     judul = datanya.judul;
  16.     aktor = datanya.pemeran.aktorUtama;
  17.  
  18.     //sekarang ambil pemeran pembantu dan masukkan ke Array
  19.     var jumlahPemeranPembantu:int = datanya.pemeran.pemeranPembantu.length();
  20.     var namaPembantu:String;
  21.     var idPembantu:String;
  22.  
  23.     for (var i:int=0; i< jumlahPemeranPembantu; i++) {
  24.         namaPembantu=datanya.pemeran.pemeranPembantu[i];
  25.         idPembantu=datanya.pemeran.pemeranPembantu[i].@id;
  26.         pembantu.push([namaPembantu,idPembantu]);
  27.     }
  28.  
  29.     //selesai
  30.     //sekarang data2 pada XML sudah terdapat pada variabel flash
  31.     //selanjutnya seperti biasa.. terserah anda
  32.  
  33. }
  34.  
  35.  

improvisasi

Pada contoh ini, flash mengambil data XML dari sebuah file yang statis. Pengembangan lebih lanjut, data XML dapat berupa file php yang beroutput sebagai XML dan datanya berasal dari sebuah database.

Sekian

Aug 29th 2009, 00:00
Beni
kalo untuk menambahkan pencarian di data XML gimana scriptnya mas? dengan memasukkan keyword tertentu maka akan tampil data yg mengandung keyword tersebut saja.
Aug 31st 2009, 00:00
boontaran
Kalo yg gituan bisa pake looping. cari dulu jumlah nodenya trus tiap node dicek apa ada string yg sesuai dgn yg diinginkan (pake indexOf)

Add your comment

CAPTCHA
reload code