(PHP 4, PHP 5, PHP 7)
xml_set_object — Use XML Parser within an object
$parser
   , object &$object
   ) : bool
   This 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.
  
parserA reference to the XML parser to use inside the object.
objectThe object where to use the XML parser.
   Returns TRUE on success or FALSE on failure.
  
Example #1 xml_set_object() example
<?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_open", "tag_close");
        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("<A ID='hallo'>PHP</A>");
?>
The above example will output:
string(1) "A"
array(1) {
  ["ID"]=>
  string(5) "hallo"
}
string(3) "PHP"
string(1) "A"