Tutorial PHP XML: Membuat, Mengurai, Membaca dengan Contoh
Apa itu XML?
XML adalah singkatan dari Extensible Markup Language.
XML digunakan untuk menyusun, menyimpan, dan mengangkut data dari satu sistem ke sistem lainnya.
XML mirip dengan HTML.
Ini menggunakan tag pembuka dan penutup.
Tidak seperti HTML, XML memungkinkan pengguna untuk menentukan tag mereka sendiri.
Apa itu DOM?
DOM adalah singkatan dari Document Object Model.
Ini adalah standar lintas platform dan bahasa netral yang menentukan cara mengakses dan memanipulasi data;
- HTML
- XHTML
- XML
DOM XML digunakan untuk mengakses dan memanipulasi dokumen XML. Dia melihat dokumen XML sebagai struktur pohon.
Parser XML
Parser XML adalah program yang menerjemahkan dokumen XML menjadi Objek Model Objek Dokumen XML (DOM).
Objek XML DOM kemudian dapat dimanipulasi menggunakan JavaNaskah, Python, dan PHP dll.
Kata kunci CDATA yang merupakan singkatan dari (Unparsed) Character Data digunakan untuk mengabaikan karakter khusus seperti “<,>” saat mengurai dokumen XML.
Mengapa menggunakan XML?
- Layanan web seperti SOAP dan REST menggunakan format XML untuk bertukar informasi. Mempelajari apa itu XML dan cara kerjanya akan memberi Anda keunggulan kompetitif sebagai pengembang karena aplikasi modern banyak menggunakan layanan web.
- Dokumen XML dapat digunakan untuk menyimpan pengaturan konfigurasi suatu aplikasi
- Ini memungkinkan Anda membuat tag khusus Anda sendiri yang membuatnya lebih fleksibel.
Contoh Dokumen XML
Misalkan Anda sedang mengembangkan aplikasi yang mendapatkan data dari layanan web dalam format XML.
Di bawah ini adalah contoh tampilan dokumen XML.
<?xml version="1.0" encoding="utf-8"?> <employees status = "ok"> <record man_no = "101"> <name>Joe Paul</name> <position>CEO</position> </record> <record man_no = "102"> <name>Tasha Smith</name> <position>Finance Manager</position> </record> </employees>
SINI,
- “ ” menentukan versi xml yang akan digunakan dan pengkodean
- “ ” adalah elemen akar.
- “ … ” masing-masing adalah elemen turunan dari administrasi dan penjualan.
Cara Membaca XML menggunakan PHP
Sekarang mari kita tulis kode yang akan membaca dokumen XML karyawan dan menampilkan hasilnya di browser web. index.php
<?php $xml = simplexml_load_file('employees.xml'); echo '<h2>Employees Listing</h2>'; $list = $xml->record; for ($i = 0; $i < count($list); $i++) { echo '<b>Man no:</b> ' . $list[$i]->attributes()->man_no . '<br>'; echo 'Name: ' . $list[$i]->name . '<br>'; echo 'Position: ' . $list[$i]->position . '<br><br>'; } ?>
SINI,
- “$xml = simplexml_load_file('employees.xml');” menggunakan fungsi simplexml_load_file untuk memuat nama file employees.xml dan menetapkan konten ke variabel array $xml.
- “$daftar = $xml->catatan;” mendapatkan konten dari node rekaman.
- “for ($i = 0; $i < count(…)…” adalah perulangan for yang membaca array numerik dan menampilkan hasilnya
- “$daftar[$i]->atribut()->man_no;” membaca atribut man_no dari elemen tersebut
- “$daftar[$i]->nama;” membaca nilai elemen anak nama
- “$list[$i]->posisi;” membaca nilai elemen posisi anak
Menguji aplikasi kami
Dengan asumsi Anda menyimpan file index.php di folder phptus/xml, telusuri URL-nya http://localhost/phptuts/xml/index.php
Cara Membuat dokumen XML menggunakan PHP
Sekarang kita akan melihat cara membuat dokumen XML menggunakan PHP.
Kita akan menggunakan contoh di atas dalam diagram pohon DOM.
Kode berikut menggunakan kelas DOMDocument bawaan PHP untuk membuat dokumen XML.
<?php $dom = new DOMDocument(); $dom->encoding = 'utf-8'; $dom->xmlVersion = '1.0'; $dom->formatOutput = true; $xml_file_name = 'movies_list.xml'; $root = $dom->createElement('Movies'); $movie_node = $dom->createElement('movie'); $attr_movie_id = new DOMAttr('movie_id', '5467'); $movie_node->setAttributeNode($attr_movie_id); $child_node_title = $dom->createElement('Title', 'The Campaign'); $movie_node->appendChild($child_node_title); $child_node_year = $dom->createElement('Year', 2012); $movie_node->appendChild($child_node_year); $child_node_genre = $dom->createElement('Genre', 'The Campaign'); $movie_node->appendChild($child_node_genre); $child_node_ratings = $dom->createElement('Ratings', 6.2); $movie_node->appendChild($child_node_ratings); $root->appendChild($movie_node); $dom->appendChild($root); $dom->save($xml_file_name); echo "$xml_file_name has been successfully created"; ?>
SINI,
- “$dom = Dokumen DOM baru();” membuat turunan kelas DOMDocument.
- “$dom->pengkodean = 'utf-8';” mengatur pengkodean dokumen ke utf-8
- “$dom->xmlVersi = '1.0';” menentukan nomor versi 1.0
- “$dom->formatOutput = benar;” memastikan bahwa output diformat dengan baik
- “$root = $dom->createElement('Film');” membuat simpul akar bernama Film
- “$attr_movie_id = DOMAttr baru('movie_id', '5467');” mendefinisikan atribut id film dari node Film
- “$child_node_element_name = $dom->createElement('ElementName', 'ElementValue')” membuat simpul anak dari simpul Film. ElementName menentukan nama elemen misalnya Judul. ElementValue menetapkan nilai simpul anak, misalnya Kampanye.
- “$root->appendChild($movie_node);” menambahkan elemen movie_node ke node akar Film
- “$dom->appendChild($root);” menambahkan node root ke dokumen XML.
- “$dom->simpan($xml_file_name);” menyimpan file XML di direktori root server web.
- “gema ' ' . $xml_nama_file . ' telah berhasil dibuat';” membuat tautan ke file XML.
Menguji aplikasi kami
Dengan asumsi Anda menyimpan file create_movies_list di folder phptuts/xml, telusuri ke URL http://localhost/phptuts/xml/create_movies_list.php
Klik tautan movie_list_xml
Ringkasan
- XML adalah singkatan dari Extensible Markup Language
- XML dapat digunakan untuk bertukar informasi antar sistem atau menyimpan pengaturan konfigurasi suatu aplikasi, dll.
- DOM adalah singkatan dari Model Objek Dokumen. XML DOM memandang dokumen XML sebagai struktur pohon
- XML Parser adalah program yang menerjemahkan XML dokumen XML menjadi dokumen seperti struktur pohon DOM.
- CDATA digunakan untuk mengabaikan karakter khusus saat mengurai dokumen XML.
- PHP menggunakan simplexml_load_file untuk membaca dokumen XML dan mengembalikan hasilnya sebagai array numerik
- Kelas PHP DOMDocument untuk membuat file XML.