Definisi dan Penggunaan
Fungsi xml_parse()
digunakan untuk dapat mengurai dokumen XML.
Tip: Untuk membuat parser XML, gunakan fungsi xml_parser_create()
.
Syntax
xml_parse(parser, data, end)
Nilai Parameter
Parameter | Deskripsi |
---|---|
parser | Required. Menentukan parser XML yang akan digunakan |
data | Required. Menentukan data untuk diurai |
end | Optional. Jika disetel ke TRUE, data di parameter data adalah bagian terakhir dari data yang dikirim dalam parse ini. Catatan: Kesalahan entitas dilaporkan di akhir parse – dan hanya akan ditampilkan jika parameter akhir adalah BENAR |
Detail Teknis
Return Value: | TRUE jika sukses. FALSE jika gagal |
---|---|
PHP Version: | 4.0+ |
Contoh 1
Buat pengurai XML dan parsing dokumen XML (note.xml):
<?php // Buat XML parser $parser=xml_parser_create(); function char($parser,$data) { echo $data; } xml_set_character_data_handler($parser,"char"); $fp=fopen("note.xml","r"); while ($data=fread($fp,4096)) { // Parse XML data 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 : Tove Jani Reminder Don't forget me this weekend!
Contoh 2
Menggunakan file XML yang sama tetapi menampilkan data XML dengan cara lain:
<?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; } 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!