PHP xml_set_object() Function
The PHP xml_set_object() function allows to use parser inside object. All callback functions could be set with xml_set_element_handler() etc and assumed to be methods of object.
Syntax
xml_set_object(parser, object)
Parameters
parser |
Required. Specify a reference to the XML parser to use inside the object. |
object |
Required. Specify the object where to use the XML parser. |
Return Value
Returns true on success or false on failure.
Example: xml_set_object() example
The example below shows the usage of xml_set_object() function.
<?php class XMLParser { private $parser; function __construct() { $this->parser = xml_parser_create(); xml_set_object($this->parser, $this); xml_set_element_handler($this->parser, "tag_start", "tag_end"); xml_set_character_data_handler($this->parser, "cdata"); } function __destruct() { xml_parser_free($this->parser); unset($this->parser); } function parse($data) { xml_parse($this->parser, $data); } function tag_open($parser, $tag, $attributes) { var_dump($tag, $attributes); } function cdata($parser, $cdata) { var_dump($cdata); } function tag_close($parser, $tag) { var_dump($tag); } } $xml_parser = new XMLParser(); $xml_parser->parse("<p id='test'>Hello World!</p>"); ?>
The output of the above code will be:
string(1) "P" array(1) { ["ID"]=> string(4) "test" } string(12) "Hello World!" string(1) "P"
❮ PHP XML Parser Reference