Definisi dan Penggunaan
Fungsi xml_set_element_handler()
digunakan untuk dapat
menentukan fungsi yang akan dipanggil di awal dan akhir elemen dalam dokumen XML.
Catatan: Parameter awal dan akhir juga bisa berupa array yang berisi referensi objek dan nama metode.
Syntax
xml_set_element_handler(parser, start, end)
Nilai Parameter
Parameter | Deskripsi |
---|---|
parser | Required. Menentukan parser XML yang akan digunakan |
start | Required. Menentukan fungsi yang akan dipanggil di awal elemen. Fungsi tersebut harus memiliki tiga parameter: $parser – Variabel yang berisi parser XML yang memanggil handler $name – Variabel yang berisi nama elemen, yang memicu fungsi ini, dari file XML sebagai string $data – Sebuah array yang berisi atribut elemen dari file XML sebagai string |
end | Required. Menentukan fungsi yang akan dipanggil di akhir elemen. Fungsi tersebut harus memiliki dua parameter: $parser – Variabel yang berisi parser XML yang memanggil handler $name – Variabel yang berisi nama elemen, yang memicu fungsi ini, dari file XML sebagai string |
Detail Teknis
Return Value: | TRUE jika sukses. FALSE jikga gagal |
---|---|
PHP Version: | 4.0+ |
Contoh
Tentukan fungsi yang akan dipanggil di awal dan akhir elemen dalam dokumen XML (note.xml):
<?php $parser=xml_parser_create(); function start($parser,$element_name,$element_attrs) { switch($element_name) { case "NOTE": echo "NOTE<br>"; break; case "TO": echo "To: "; break; case "FROM": echo "From: "; break; case "HEADING": echo "Heading: "; break; case "BODY": echo "Message: "; } } function stop($parser,$element_name) { echo "<br>"; } function char($parser,$data) { echo $data; } // Tentukan fungsi yang akan dipanggil di awal dan akhir elemen dalam dokumen XML xml_set_element_handler($parser,"start","stop"); xml_set_character_data_handler($parser,"char"); $fp=fopen("note.xml","r"); while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); fclose($fp); ?> /* Output : NOTE To: Tove From: Jani Heading: Reminder Message: Don't forget me this weekend!