Parse xml ke array php

XML (Extensible Markup Language) adalah salah satu jenis bahasa markup yang digunakan untuk menyimpan data dalam format yang dapat dibaca manusia. Ini berbeda dari bahasa markup lainnya. Setiap tag bahasa ini ditentukan oleh pengguna. Menggunakan XML adalah solusi yang lebih baik untuk menyimpan sejumlah kecil data saat Anda tidak ingin menggunakan database apa pun untuk menyimpan data. Data dari dokumen XML dapat dengan mudah diakses dan digunakan dalam aplikasi web apa pun yang menggunakan skrip PHP. Bagaimana dokumen XML dapat diuraikan dan disimpan ke dalam array asosiatif ditunjukkan dalam tutorial ini

Fungsi yang Diperlukan

Beberapa fungsi bawaan digunakan untuk mengonversi konten XML menjadi larik PHP asosiatif. Tujuan dari berbagai fungsi dijelaskan di bawah ini

file_get_contents()

Fungsi ini mengembalikan data string dengan mengonversi data XML apa pun. Dibutuhkan nama file XML apa pun sebagai argumen

simplexml_load_string()

Fungsi ini mengembalikan objek XML dengan mengonversi data string XML. Dibutuhkan data string XML sebagai argumen

simplexml_load_file()

Fungsi ini mengembalikan objek XML dengan mengonversi konten file XML. Dibutuhkan nama file XML sebagai argumen

SimpleXMLElement()

Ini digunakan untuk membuat objek XML dari data XML. Dibutuhkan nilai konten XML sebagai argumen

json_encode()

Ini mengembalikan objek JSON dengan mengonversi objek XML. Dibutuhkan variabel objek XML sebagai argumen

json_decode()

Ini mengembalikan array PHP asosiatif dengan mengonversi data JSON. Dibutuhkan variabel objek JSON sebagai argumen

Buat File XML

Anda akan diminta untuk membuat file XML atau mendefinisikan data XML dalam skrip untuk mengetahui cara mengubah data XML menjadi array PHP asosiatif. Buat file XML bernama kursus. xml dengan konten berikut dan simpan di lokasi tempat skrip PHP berada. File tersebut berisi elemen anak di bawah elemen induk. Jadi, array asosiatif dua dimensi akan dihasilkan setelah mengonversi file XML berikut menjadi array PHP

kursus. xml

versi="1. 0"?> version="1.0"?>
>>
>Pemrograman Web> >Web Programming>
>6 bulan> >6 months>
>>
>>
>Kegembiraan Pemrograman PHP>The Joy of PHP Programming>
>Alan Forbes> >Alan Forbes>
>Pulau Plum> >Plum Island>
>>
>>
>PHP & MySQL Novice to Ninja>PHP & MySQL Novice to Ninja
Tom Butler & Kevin Yank
SitePoint


Utamakan PHP & MySQL
Lynn Beighley & Michael Morrison
O'Reilly


Contoh 1. Ubah konten file XML menjadi array asosiatif tanpa memeriksa kesalahan

Skrip berikut menunjukkan penggunaan fungsi file_get_contents() dan simplexml_load_string() untuk membuat objek XML. Di sini, kursus. xml file digunakan untuk konversi yang telah dibuat sebelumnya. Selanjutnya, fungsi json_encode() dan json_decode() digunakan untuk mendapatkan array asosiatif setelah mengonversi konten file XML. Jika tidak ada kesalahan dalam konten XML, maka tidak ada kesalahan yang akan ditampilkan oleh skrip berikut. Di sini, tag <pre> digunakan untuk mencetak array dengan cara yang diformat



//Tentukan file XML yang ada
$xml = "kursus. xml";

//Baca isi lengkap file XML sebagai string XML
$xmlData = file_get_contents($xml);

// Konversi data string XML menjadi objek XML
$xmlObject = simplexml_load_string($xmlData);

// Konversi objek XML menjadi objek JSON
$jsonObject = json_encode($xmlObject);

// Konversi objek JSON menjadi array asosiatif
$assArray = json_decode($jsonObject, true);

// Cetak struktur array asosiatif
gema "
"
;
print_r($assArray);
gema "
"
;

?>

Keluaran

Output berikut akan muncul setelah menjalankan skrip PHP. Di sini, array dua dimensi dihasilkan berdasarkan konten file XML, course. xml

Parse xml ke array php

Contoh-2. Ubah konten file XML menjadi array asosiatif dengan memeriksa kesalahan

Lebih baik untuk memeriksa kesalahan saat mengonversi XML menjadi array asosiatif. Ini akan membantu pembuat kode untuk men-debug kode jika pemeriksaan kesalahan diterapkan dalam skrip. Skrip berikut menunjukkan cara untuk mengonversi konten file XML menjadi array asosiatif dengan menggunakan fungsi simplexml_load_file() dengan penanganan kesalahan. Fungsi libxml_use_internal_errors() digunakan dengan nilai TRUE untuk mengaktifkan penanganan kesalahan. Jika konten file XML yang digunakan dalam skrip mengandung kesalahan, maka fungsi simplexml_load_file() akan mengembalikan false, dan pesan kesalahan akan dicetak dengan menggunakan fungsi libxml_get_errors(). Jika tidak ada kesalahan dalam file XML, maka konten file akan diubah dengan benar menjadi array asosiatif dua dimensi



// Aktifkan penanganan kesalahan pengguna
libxml_use_internal_errors(BENAR);

//Buat Objek XML
$objXml = file simplexml_load_("kursus. xml");

//Kesalahan cetak jika objek XML menghasilkan false
jika ($objXml === FALSE<) {
echo "Terjadi kesalahan saat mengurai file XML. \n ";
foreach(libxml_get_errors() as $error) {
echo $error->pesan;
}
keluar;
}

// Konversi objek XML menjadi objek JSON
$objJson = json_encode($objXml);
// Konversi objek JSON menjadi array asosiatif
$assarr = json_decode($objJson, TRUE);

// Cetak struktur array asosiatif
gema ";
print_r($assarr);
gema "";

?>

Keluaran

Output berikut akan muncul setelah menjalankan skrip PHP. Di sini, tidak ada kesalahan dalam file XML. Jadi, array dua dimensi telah dihasilkan seperti contoh sebelumnya berdasarkan konten file XML, course. xml

Parse xml ke array php

Contoh-3. Mengonversi konten XML menjadi larik asosiatif

Skrip berikut menunjukkan cara mengonversi data XML menjadi array asosiatif dengan menggunakan fungsi SimpleXMLElement(). Dalam skrip, konten XML disimpan ke dalam variabel bernama $xml yang digunakan sebagai argumen dari fungsi, SimpleXMLElement(). Selanjutnya, fungsi json_encode() dan json_decode() digunakan untuk mendapatkan array asosiatif setelah mengonversi konten file XML



//Menentukan variabel XML
$xml = <<



jolly@contoh. com

12/A, Dhanmondi
Dhaka



jafar@contoh. com

156, Motijeel
Dhaka



jony@contoh. com

21/B, Mogbazar
Dhaka



XML
;

//Buat objek XML
$xmlObject = baru SimpleXMLElement ($xml);
//Buat Objek JSON
$jsonObject = json_encode($xmlObject);
// Konversi objek JSON menjadi array asosiatif
$assArray = json_decode($jsonObject, true);

// Cetak struktur array asosiatif
gema ";
print_r($assArray);
gema "";

?>

Keluaran

Output berikut akan muncul setelah menjalankan skrip PHP. Di sini, array dua dimensi dibuat berdasarkan isi variabel XML, $xml

Parse xml ke array php

Kesimpulan

Ada tiga cara berbeda untuk mengonversi konten XML menjadi array asosiatif yang ditunjukkan dalam tutorial ini. Ini akan membantu pembaca untuk mengetahui cara bekerja dengan data XML dan mengurai data dari konten XML dengan menggunakan skrip PHP dengan mudah

Bagaimana cara mengubah data XML menjadi array di PHP?

Untuk mengonversi dokumen XML menjadi larik PHP, beberapa fungsi PHP digunakan yang tercantum di bawah ini. .
fungsi file_get_contents(). Fungsi file_get_contents() digunakan untuk membaca file sebagai string. .
fungsi simplexml_load_string(). Terkadang ada kebutuhan untuk mem-parsing data XML dalam PHP

Bagaimana cara mengubah SOAP XML ke array di PHP?

1. echo '
';print_r($client__getLastResponse()); 2. echo '
';print_r($response->envelope->body->searchflightavailability33response); 3. echo '
';print_r($client->SearchFlightAvailability33($response)); 4.

Bagaimana cara mengubah XML menjadi objek di PHP?

Mari kita lihat langkah-langkah mengubah dokumen XML menjadi objek java. .
Buat POJO atau ikat skema dan hasilkan kelas
Buat objek JAXBContext
Buat objek Unmarshaller
Panggil metode unmarshal
Gunakan metode pengambil POJO untuk mengakses data

Bagaimana cara mengulang XML di PHP?

Konten dari URL dapat diambil melalui file_get_contents() dan dapat di-echo. atau baca menggunakan fungsi readfile. readfile('http. //contoh. com/'); . teks/xml'); . echo $xml->asXML(); .