PHP SimpleXML
Apakah itu PHP SimpleXML?
SimpleXML ialah ciri baharu dalam PHP 5.
Pelanjutan SimpleXML menyediakan cara mudah untuk mendapatkan nama dan teks elemen XML.
Berbanding dengan penghurai DOM atau Expat, SimpleXML boleh membaca data teks daripada elemen XML dalam hanya beberapa baris kod.
Simplexml boleh menukar dokumen XML (atau rentetan XML) kepada objek, seperti:· Elemen ditukar kepada atribut tunggal objek Simplexmlement. Apabila terdapat berbilang elemen pada tahap yang sama, ia diletakkan dalam tatasusunan. · Atribut diakses menggunakan tatasusunan bersekutu, di mana indeks sepadan dengan nama atribut. · Teks di dalam elemen ditukar kepada rentetan. Jika elemen mempunyai berbilang nod teks, ia disusun mengikut tertib di mana ia ditemui. SimpleXML sangat pantas digunakan apabila melakukan tugas asas seperti: · Baca/ekstrak data daripada fail/rentetan XML· Mengedit nod teks atau Atribut Walau bagaimanapun, apabila berurusan dengan XML lanjutan, seperti ruang nama, adalah lebih baik untuk menggunakan penghurai Expat atau XML DOM.
Pemasangan
Bermula dengan PHP 5, fungsi SimpleXML adalah sebahagian daripada teras PHP. Tiada pemasangan diperlukan untuk menggunakan fungsi ini.<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>Sekarang kita mahu output Maklumat berbeza fail XML di atas: Contoh 1Output kekunci dan elemen pembolehubah $xml (iaitu objek SimpleXMLElement):
<?php $xml=simplexml_load_file("note.xml"); print_r($xml); ?>Kod di atas akan mengeluarkan: SimpleXMLElement Object ( [ke] => Tove [dari] => Jani [heading] => Peringatan [body] => Jangan lupakan saya hujung minggu ini! ) Contoh 2Output data setiap elemen dalam fail XML:
<?php $xml=simplexml_load_file("note.xml"); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?>Kod di atas akan mengeluarkan: Tove
Jani
Peringatan
Jangan lupa saya hujung minggu ini!
<?php $xml=simplexml_load_file("note.xml"); echo $xml->getName() . "<br>"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br>"; } ?>
kepada: Tove
daripada: Jani
tajuk: Peringatan
badan : Jangan lupakan saya pada hujung minggu ini!