Teknik Sederhana parsing XML dengan PHP dan Jquery

XML ( Extendsible Markup Language) adalah salah satu bahasa yang dibuat untuk dapat melakukan pertukaran data dari suatu aplikasi ke aplikasi lain. Kenapa kita mesti mempelajari XML, karena menurut saya XML banyak sekali digunakan pada berbagai aplikasi salah satunya Android yang sekarang-sekarang ini lagi booming. Android sendiri paling banyak dibuat dengan bantuan XML dan Java. Untuk mempelajari dasar-dasar XML, teman teman bisa baca-baca pada artikel ini :

XML tidak bisa lepas dari parsing, mengkonversi dari atau ke XML adalah hal yang paling sering dilakukan. Berikut ini saya akan mencoba mencoba mempraktikan bagaimana melakukan parsing XML dengan PHP.
Kalau teman-teman membaca manual PHP, ada banyak class yang memudahkan kita melakukan parsing XML salah satunya adalah SimpleXML.

Awal terlebih dahulu adalah pengecekan apakah class SimpleXML telah tersedia di versi PHP kita atau belum. Karena SimpleXML ini support pada PHP versi 5.

Sekarang coba kita ambil salah satu contoh file xml dari alamat http://www.w3schools.com/xml/yang plant_catalog.xml.

Sekarang kita buat satu file untuk mencoba mengambil data pada file plant_catalog.xml dengan nama xml_php.php (satukan dalam folder file plant_catalog.xml). Pada xml_php.php kita tulis code seperti dibawah ini :

<?php
    # pengecekan apakah ada file *.xml itu ?
	if(file_exists('plant_catalog.xml')){
		
		# ambil data xml
		$xml = file_get_contents('plant_catalog.xml');
		
		# pembuatan object SimpleXMLElement
		$e_xml = new SimpleXMLElement($xml);
		
		# mengambil name dari element
		echo "Element root : " . $e_xml->getName() . "<br />";
			echo "Element children dari root : " . $e_xml->children()->getName() . "<br />";
		
		echo "Element children dari " . $e_xml->children()->getName() . " : <br />";
		# loping get name dari child yg banyak
		foreach($e_xml->children()->children() as $child){
			echo $child->getName()."<br />";
		}
		
		echo "============================================= <br />";
		
		# mengambil isi dari element
		echo "Common : " . $e_xml->PLANT[0]->COMMON . "<br />";
			
		echo "Botanical : " . $e_xml->PLANT[0]->BOTANICAL . "<br />";
		
		echo "============================================= <br />";
		
		# hitung jumlah element pada PLANT
		$jml_plant = $e_xml->PLANT->count();
		echo "Jumlah element ". $e_xml->children()->getName() . " : " . $jml_plant . "<br />";
		
		# looping untuk mendapatkan data keseluruhan
		for ($i=0; $i<$jml_plant; $i++){
			
			# ambil hanya element COMMON
			echo "#" . $i . " Common dari " . $e_xml->children()->getName() . " : " . $e_xml->PLANT[$i]->COMMON . "<br />";
		
		}
		
	}else{
		
		echo "file tidak ditemukan";
		
	}

?>

Untuk melihatnya bisa disini : http://tokobukubekas.co.tv/tutorial/xml_tut/xml_php.php

Tapi maaf karena fungsi count() hanya support pada php versi 5.3 sedangkan hosting saya menggunakan versi PHP 5.2 jadi terdapat error. Lebih jelas, teman-teman bisa langsung coba aja di localhost masing-masing.

Pada kode tersebut, sudah saya berikan komentar sehingga memudahkan teman-teman mempelajarinya.

Selain dengan SimpleXML, kita juga bisa memanfaatkan fasilitas dari jquery.Berikut ini adalah code parsing XML dengan jquery :

<html>
<head>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
	<script type='text/javascript'>

		$(document).ready(function()
		{
			
			$.ajax({
				type: "GET",
				url: "plant_catalog.xml",
				dataType: "xml",
				beforeSend: function(){
					$("#image").html("<img src='ajax-loader.gif'");
				},
				success: function(xml) {
					$(xml).find("PLANT").each(function(){
						$("#image").hide();
						
						var data_common = $(this).find("COMMON").text();
						$("#v_common ul").append("<li>"+ data_common +"</li>");
						
						var data_botanical = $(this).find("BOTANICAL").text();
						$("#v_botanical ul").append("<li>"+ data_botanical +"</li>");
					});
					
				}
			});
			
		});

	</script>
</head>

<body>
  <span id='image'></span><br />
  Common : 
  <div id='v_common'>
	<ul>
		
	</ul>
  </div>
  
  Botanical :
  <div id='v_botanical'>
	<ul>
		
	</ul>
  </div>
</body>
	
</html>

Demonya bisa dilihat pada alamat ini : http://tokobukubekas.co.tv/tutorial/xml_tut/tampilkan.php

Sampai disini semoga ada tambahan ilmu lagi tentang PHP, Jquery n XML πŸ™‚

5 thoughts on “Teknik Sederhana parsing XML dengan PHP dan Jquery

  1. aku mau tanya mas, gimana sih algoritmanya parsing XML tu kalo dari applikasi J2ME untuk ngambil data dari satu website?
    makash mas, tolong d bales ke email aku, buat bagi-bagi ilmu ya mas..makasih sekali lagi πŸ˜€

Silahkan Komentar...

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s