PHP xml_set_object() functie

definitie en gebruik

De xml_set_object() functie maakt het mogelijk om een XML parser te gebruiken in een object.

syntaxis

xml_set_object(parser,object)
parameter beschrijving
parser verplicht. De XML parser die moet worden gebruikt.
object verplicht. Het object dat de parser moet instellen.

beschrijving

Deze functie maakt parser de gespecificeerde parser kan worden gebruikt in object in het object. Alle callback functies (callback function) kunnen worden ingesteld met functies zoals xml_set_element_handler(), en ze worden aangenomen als object methode van het object.

voorbeeld

<?php
klasse XMLParser 
{
var $xmlparser;
functie 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");
  }
functie parse($data)
  { 
  xml_parse($this->xmlparser, $data);
  }
functie 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();
?>