July 13, 2024

Manipulasi File XML dengan PHP (Bagian 1)

2 min read

Database memang merupakan standar penyimpanan data bagi para web programmer. Namun bagaimana jika kita tidak terlalu mempermasalahkan keamanan data dan ingin alternatif yang lebih sederhana? terutama jika seandainya server pada tempat anda bekerja memiliki masalah pada koneksi databasenya? Struktur file XML bisa jadi jawabannya.

Berikut adalah kumpulan teknik dasar manipulasi file XML yang saya dapatkan dari berbagai referensi terpisah. Saya menerapkan teknik ini untuk pembuatan students’ work uploader saya yang source code-nya bisa diunduh bebas dan gratis disini.

Tutorial ini dibuat dengan asumsi anda telah mengetahui server-side scripting PHP serta cara menjalankannya, dan juga struktur data file XML.

Membuat file XML

Kita mulai dengan percobaan pertama untuk membuat file xml dari php. Gunakan skrip dibawah ini, letakkan pada direktori server, kemudian jalankan pada browser

<?php

$dom = new DomDocument('1.0');

$induk = $dom->appendChild($dom->createElement("induk"));

$anak = $induk->appendChild($dom->createElement("anak"));

$anak->appendChild($dom->createTextNode("anak pertama"));

$anak = $induk->appendChild($dom->createElement("anak"));

$anak->appendChild($dom->createTextNode("anak kedua"));

$dom->save("coba.xml");

?>

Maka kita akan mendapatkan file baru bernama “coba.xml” dengan struktur

<induk>

<anak>anak pertama</anak>

<anak>anak kedua</anak>

</induk>

Menambah Node

Sekarang dari file “coba.xml” yang kita buat tadi, kita akan coba menambahkan satu node lagi didalamnya

<?php

$dom = new DomDocument('1.0');

$dom->load("coba.xml");

$induk = $dom->getElementsByTagName("induk")->item(0);

$anak = $induk->appendChild($dom->createElement("anak"));

$anak->appendChild($dom->createTextNode("anak ketiga"));

$dom->save("coba.xml");

?>

Dan saat kita buka file “coba.xml” tadi telah berubah isinya menjadi

<induk>

<anak>anak pertama</anak>

<anak>anak kedua</anak>

<anak>anak ketiga</anak>

</induk>

Mengedit Node Value

<?php

$dom = new DomDocument('1.0');

$dom->load("coba.xml");

$dom->getElementsByTagName("anak")->item(2)->nodeValue = "anak pungut";

$dom->save("coba.xml");

?>

Angka pada item layaknya susunan array  sehingga angka 0 mengacu pada “anak pertama”, 1 untuk “anak kedua”, dan 2 untuk “anak ketiga”. Dan hasil yang kita dapatkan adalah

<induk>

<anak>anak pertama</anak>

<anak>anak kedua</anak>

<anak>anak pungut</anak>

</induk>

Menghapus Node

Dan untuk yang bagian ini, cukup lama saya menghabiskan waktu untuk mencari referensinya, dan ternyata membutuhkan sesuatu yang dinamakan “documentElement”

$dom = new DomDocument('1.0');

$dom->load("coba.xml");

$doe = $dom->documentElement;

$targethapus = $doe->getElementsByTagName("anak")->item(2);

$targethapus->parentNode->removeChild($targethapus);

$dom->save("coba.xml");

Dan anak pungut yang mengaku sebagai anak ketiga tadi telah berhasil kita usir 😛

<induk>

<anak>anak pertama</anak>

<anak>anak kedua</anak>

</induk>

Menambahkan attribute

File xml pun dapat anda lengkapi dengan atributnya dengan skrip berikut

<?php

$dom = new DomDocument('1.0');

$dom->load("coba.xml");

$pilihnode = $dom->getElementsByTagName("anak")->item(0);

$pilihnode->setAttribute("nama","Joko");

$pilihnode = $dom->getElementsByTagName(“anak”)->item(1);

$pilihnode->setAttribute(“nama”,”Toyib”);

$dom->save("coba.xml");

?>

Hasil

<induk>

<anak nama=”Joko”>anak pertama</anak>

<anak nama=”Toyib”>anak kedua</anak>

</induk>

Demikian kumpulan catatan saya untuk teknik dasar manipulasi file XML melalui PHP. Dengan menggunakan file XML ini sebagai penyimpan data, maka kita akan terlepas dari rutin pembuatan database, koneksi, table, query, dll. Pada mulanya memang terlihat agak rumit, namun jika kita telah terbiasa dengan sintak-sintaknya, maka akan terasa menarik untuk terus bereksperimen. Untuk bagian berikutnya saya akan memaparkan cara menampilkan data xml yang telah kita buat tadi pada browser.

Selamat mencoba dan semoga memberikan manfaat 😀

0 thoughts on “Manipulasi File XML dengan PHP (Bagian 1)

  1. wew.. dah banyak jempolnya ternyata.. 😀 thanks, gan..

    v3: saya dari dulu memang keren.. tutorialnya.. 😀 😛

  2. *P Rais: yang mana pak? kalu penjelasan tentang xml kan ado ane kasih link nya ke wikipedia.. panjang, gan kalo mo dijelasin disini.. 😛

  3. mantabh gan, sayang ane lum pernah belajar php palagi xml, walau gagal pertamax yg penting mejeng di pejiwan

  4. @adhy – eh bisa bebalesan sekarang.. wahaha pak eka ini pasti.. kagak make pertamax disini, gan.. lagian kagak ada page two..

  5. @efriey – coba dari “Membuat file xml” aja.. ketik skrip php, jalanin dari browser, ntar juga keliatan ada file baru berekstensi xml dibuat di direktori yang sama.. selamat mencoba.. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright © All rights reserved. | Newsphere by AF themes.