Cara Membuat XML dari Database MySQL dengan PHP

Langsung saja ke intinya yah…
Cara yang dipakai dengan menggunakan DOMDocument Class yang disediakan.

Pertama kita harus tahu struktur database yang akan kita ambil datanya. Contoh yang saya buat adalah sebagai berikut

id judul isi
1 1 berita1
2 2 berita2
3 3 berita3
4 4 berita4
5 5 berita5

kemudian format XML yang akan saya buat adalah sebagai berikut:

<news>
	<item>
		<id>...</id>
		<judul>.</judul>
		<isi>...</isi>
	</item>
</news>

cara pemanggilan dari database kemudian di simpan ke format XML adalah sebagai berikut:

<?php 
	$username = "root";                     //username yang dipakai
	$password= "";                          //password yang dipakai
	$db = "xml";                            //database yang dipakai
	mysql_connect("localhost",$username,$password) or die("koneksi ke MySQL gagal");
	mysql_select_db($db) or die ("koneksi ke dataBase gagal");
  
	$doc = new DomDocument('1.0');                              //memanggil DOMDocument Class
	$root = $doc->createElement('news');                        //Buat element baru <news>
	$root = $doc->appendChild($root);                        

	$query=mysql_query("select id,judul,isi from news");         
	while ( $get_data = mysql_fetch_object($query)) 
	{
		$item= $doc->createElement('item');                 //buat element baru <item>
		$item = $root->appendChild($item);                  //masukkan sebagai anak dari element <news>
		foreach($get_data as $fieldname => $fieldvalue)  
		{  
			$child = $doc->createElement($fieldname);      //buat element baru <nama_kolom_tabel>
			$child = $item->appendChild($child);           //masukkan sebagai anak dari element <item>
		
			$value = $doc->createTextNode($fieldvalue);    //tambahkan isi data database ke element baru
			$value = $child->appendChild($value);
		}  
	}
	echo $doc->saveXML();   //sekedar menampilkan hasil penyimpanan ke XML
	$doc->save("news.xml");   //simpan XML yang sudah dibuat ke file news.xml
?>

setelah dijalanjan akan terbentuk file xml yang isinya adalah sebagai berikut

<?xml version="1.0"?>
<news><item><id>1</id><judul>1</judul><isi>berita1</isi></item><item><id>2</id><judul>2</judul><isi>berita2</isi></item><item><id>3</id><judul>3</judul><isi>berita3</isi></item><item><id>4</id><judul>4</judul><isi>berita4</isi></item><item><id>5</id><judul>5</judul><isi>berita5</isi></item></news>

susah dibaca ya?? :p
klo dilihat dengan versi rapi seperti ini

<?xml version="1.0"?>
<news>
	<item>
		<id>1</id>
		<judul>1</judul>
		<isi>berita1</isi>
	</item>
	<item>
		<id>2</id>
		<judul>2</judul>
		<isi>berita2</isi>
	</item>
	<item>
		<id>3</id>
		<judul>3</judul>
		<isi>berita3</isi>	
	</item>
	<item>
		<id>4</id>
		<judul>4</judul>
		<isi>berita4</isi>
	</item>
	<item>
		<id>5</id>
		<judul>5</judul>
		<isi>berita5</isi>
	</item>
</news>

sederhana bukan?sebenarnya ada cara lain dengan menggunakan simpleXML yang dsediakan PHP juga. Nah klo sudah mengerti konsep pembuatan XML, tentunya RSS feed dapat dibuat secara manual dengan dasar pengetahuan tadi bukan??tapi tentunya dengan aturan-aturan baku yang sudah ditentukan pada RSS feed.

regard,
andrew89ongi

11 Comment

  1. andri says: Balas

    wow..thx gan

  2. kanggo kie…ak dilut an meh maenan eX eM eL…
    suwun ndru…:D

    1. woke..sami2 dah…tp singkatan mu ra enak… hahahaha… 😀

  3. cadas kui ndez….
    eX eM eL….wkwkwkkw
    andi di atas = andi wijaya B?

    1. lah mbuh takon pada rumput yang bergiyang deen sopo..hahha

  4. adie says: Balas

    Thx Brow., Suksma,.

  5. driveyourfuture1 says: Balas

    mksih dab,,

  6. sama2 mas bro….

  7. syeizha says: Balas

    yang pakek java gag da toh, ? 🙁 lagi btuh bgt,,

  8. Tonja says: Balas

    I’d like to continue reading regarding Cara Membuat XML dari Database MySQL dengan PHP « Pionize Share, you should provide a lot more material.

  9. “Cara Membuat XML dari Database MySQL dengan PHP « Pionize Share” was a wonderful posting.
    If only there was much more sites like this one on the actual cyberspace.
    Anyway, thanks for your time, Damaris

Tinggalkan Balasan