hàm xml_set_object() của PHP
định nghĩa và cách sử dụng
hàm xml_set_object() cho phép sử dụng giải pháp XML trong đối tượng.
cú pháp
xml_set_object(parser,đối tượng)
tham số | mô tả |
---|---|
parser | bắt buộc. Định nghĩa giải pháp XML cần thiết để sử dụng. |
đối tượng | bắt buộc. Định nghĩa đối tượng cần thiết để thiết lập giải pháp. |
mô tả
hàm này cho phép parser mô tả giải pháp có thể được sử dụng trong đối tượng tất cả các hàm gọi lại (callback function) trong đối tượng đều có thể được thiết lập bằng các hàm như xml_set_element_handler() v.v., chúng được giả định là đối tượng các phương thức của đối tượng.
thực thể
<?php class XMLParser { var $xmlparser; function XMLParser() { $this->xmlparser = xml_parser_create(); xml_set_object($this->xmlparser, $this); xml_set_character_data_handler($this->xmlparser,"char"); xml_set_element_handler($this->xmlparser, "start_tag","end_tag"); } function parse($data) { xml_parse($this->xmlparser, $data); } function parse_File($xmlfile) { $fp = fopen($xmlfile, 'r'); while ($xmldata = fread($fp, 4096)) { if (!xml_parse($this->xmlparser, $xmldata)) { //Nếu có lỗi die( print "ERROR: " . xml_error_string(xml_get_error_code($this->xmlparser)) . "<br />Dòng: " . xml_get_current_line_number($this->xmlparser) . "<br />Cột: " . xml_get_current_column_number($this->xmlparser) . "<br />"); } } } function start_tag($xmlparser, $tag, $attributes) { print $tag . "<br />"; } function end_tag(){} function char($xmlparser,$data) { echo $data . "<br />"; } function close_Parser() { xml_parser_free($this->xmlparser); } } $myxmlparser = new XMLParser(); $myxmlparser->parse_File("test.xml"); $myxmlparser->close_parser(); ?>