Mengkonversi Data XML Ke Format JSON Dengan PHP

Dipublikasikan oleh El Cicko pada

mengkonversi data xml ke format json dengan php

Hi, senang banget bisa kembali lagi ngeblog disini sehabis kemarin blog saya ini kena suspended dari penyedia hostingnya entah apa sebabnya. Dan alhamdulillah sekarang udah bisa aktif lagi.Sebenernya semangat buat ngoding lagi agak loyo karena udah masuk musim hujan dan setiap harinya Bandung di guyur hujan deras dari pagi sampe sore, kadang juga sampe malem. Jadinya saya jadi jarang mandi soalnya air di kamar mandi udah berasa kaya air kulkas. hehehehe

Ok, sesuai judulnya jadi kita akan membuat script PHP untuk mengkonversi data XML ke format JSON. sebenernya hampir ga ada yang beda dari dua format data ini . Yang ngebedain cuma cara memparsing datanya menjadi sebuah text format yang dapat dibaca di mesin / device yang berbeda. Cuman secara pribadi ya saya lebih seneng memparsing JSON ketimbang XML.

Ok, sekarang kita siapkan text editornya…pertama-tama kita buat file bernama xml.php, disini kita akan memasukan contoh format XML-nya.

<?xml version="1.0"?>
  <menu>
    <item>
      <id>1</id>
      <judul>TEST XML1</judul>
    </item>
    <item>
      <id>2</id>
      <judul>TEST XML2</judul>
    </item>
    <item>
      <id>3</id>
      <judul>TEST XML3</judul>
    </item>
  </menu>

Ok, habis itu sekarang kita bikin sebuah fungsi untuk memparsing data xml tersebut dan mengkonversinya menjadi sebuah data JSON. buat file bernama function.php.

<?php
class XmlToJson {
  public function Parse($url) {
    $fileContents = file_get_contents($url);
    $fileContents = str_replace(array("n", "r", "t"), '', $fileContents);
    $fileContents = trim(str_replace('"', "'", $fileContents));

    $simpleXml = simplexml_load_string($fileContents);
    $json = json_encode($simpleXml);
    return $json;
  }
}
?>

Sekarang langkah terakhirnya adalah kita membuat file bernama index.php untuk membuat outputnya.

<?php

include "function.php";
$XmlToJson = new XmlToJson();
$json = $XmlToJson->Parse('xml.php');
echo $json;

?>

jalankan di localhost kamu, output yang keluar seharusnya seperti ini

datajson

Nah, gampang khan? selamat mencoba dan semoga bermanfaat 😀

download-button

El Cicko

Nama saya Riky Fahri Hasibuan, Saya yang biasa nulis di blog ini. Blog ini adalah sarana dokumentasi dari apa yang saya kerjakan dan tidak ada salahnya juga saya sebarkan. Jika artikel di blog bermanfaat, kamu bisa memberikan apresiasi pada blog ini dengan memberikan donasi pada blog ini.

2 Komentar

Iqbal · Februari 21, 2015 pada 9:08 pm

Outputnya kesamping yah seperti ini :

{“item”:[{“id”:”1″,”judul”:”TEST XML1″},{“id”:”2″,”judul”:”TEST XML2″},{“id”:”3″,”judul”:”TEST XML3″}]}

Kalo download yang dikasih. terus ada perbedaan di function.php \n,\r,\t dan pada index.php tidak pake ?> diakhirnya, kalo dari script atas tidak jalan.

    El Cicko · Februari 23, 2015 pada 2:11 pm

    nah boleh tuh ditambahin juga kalo emang ada beberapa character yang kurang. selamat ngulik ya 😀

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *