Php/docs/function.xml-set-object

From Get docs

xml_set_object

(PHP 4, PHP 5, PHP 7)

xml_set_objectUse XML Parser within an object


Description

xml_set_object ( XMLParser $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.


Parameters

parser
A reference to the XML parser to use inside the object.
object
The object where to use the XML parser.


Return Values

Returns TRUE on success or FALSE on failure.


Changelog

Version Description
8.0.0 parser expects an XMLParser

instance now; previously, a resource was expected.


Examples

Example #1 xml_set_object() example

<?phpclass 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"