PHP xml_set_object() function

Definition and Usage

The xml_set_object() function allows the use of XML parsers in objects.

syntax

xml_set_object(parser,object)
parameter description
parser required. Specifies the XML parser to be used.
object required. Specifies the object to set the parser.

description

This function makes parser The specified parser can be used in object All callback functions (callback function) in the object can be set by xml_set_element_handler() and similar functions, which are assumed to be object methods of the object.

instance

<?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))
      {
      //If error
      die( print "ERROR: "
      . xml_error_string(xml_get_error_code($this->xmlparser))
      . "<br />Line: "
      . xml_get_current_line_number($this->xmlparser)
      . "<br />Column: "
      . 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();
?>