Home » PHP » PHP XML : Parser SimpleXML – Instalasi dan Contohnya

PHP XML : Parser SimpleXML – Instalasi dan Contohnya

by Hanifah Nurbaeti
by Hanifah Nurbaeti

SimpleXML adalah ekstensi PHP yang memungkinkan kita memanipulasi dan mendapatkan data XML dengan mudah.

Parser SimpleXML

SimpleXML adalah pengurai berbasis pohon( tree-based parser.).

SimpleXML menyediakan cara mudah untuk mendapatkan nama elemen, atribut, dan konten tekstual jika mengetahui struktur atau tata letak dokumen XML.

SimpleXML mengubah dokumen XML menjadi struktur data yang dapat di iterasikan seperti kumpulan array dan objek.

Dibandingkan dengan DOM atau parser Expat, SimpleXML membutuhkan lebih sedikit baris kode untuk membaca data teks dari suatu elemen.

Instalasi

Dari PHP 5, fungsi SimpleXML merupakan bagian dari inti PHP. Tidak diperlukan instalasi untuk menggunakan fungsi-fungsi ini.

PHP SimpleXML – Baca Dari String

Fungsi PHP simplexml_load_string() digunakan untuk membaca data XML dari sebuah string.

Asumsikan kita memiliki variabel yang berisi data XML, seperti ini:

$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>";

Contoh di bawah ini menunjukkan cara menggunakan fungsi simplexml_load_string() untuk membaca data XML dari string:

Contoh:

<?php
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Jangan lupa bertemu aku akhir pekan ini!</body>
</note>";

$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create object");
print_r($xml);
?>

Output dari kode di atas adalah:

SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Jangan lupa bertemu aku akhir pekan ini! )

Tip Penanganan Kesalahan: Gunakan fungsionalitas libxml untuk mengambil semua kesalahan XML saat memuat dokumen dan kemudian mengulangi kesalahan tersebut. Contoh berikut mencoba memuat string XML yang rusak:

Contoh :

<?php
libxml_use_internal_errors(true);
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<document>
<user>John Doe</wronguser>
<email>[email protected]</wrongemail>
</document>";

$xml = simplexml_load_string($myXMLData);
if ($xml === false) {
  echo "Failed loading XML: ";
  foreach(libxml_get_errors() as $error) {
    echo "<br>", $error->message;
  }
} else {
  print_r($xml);
}
?>

Output dari kode di atas adalah:

Failed loading XML:
Opening and ending tag mismatch: user line 3 and wronguser
Opening and ending tag mismatch: email line 4 and wrongemail

PHP SimpleXML – Baca Dari File

Fungsi PHP simplexml_load_file () digunakan untuk membaca data XML dari file.

Asumsikan kita memiliki file XML bernama “note.xml”, yang terlihat seperti ini:

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

Contoh di bawah ini menunjukkan cara menggunakan fungsi simplexml_load_file() untuk membaca data XML dari file:

Contoh :

<?php
$xml=simplexml_load_file("note.xml") or die("Error: Cannot create object");
print_r($xml);
?>

Output dari kode di atas adalah :

SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )

You may also like