PHP Function Reference

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