función xml_set_object() de PHP

definición y uso

La función xml_set_object() permite usar un analizador XML en un objeto.

sintaxis

xml_set_object(analizador,objeto)
parámetros descripción
analizador obligatorio. Define el analizador XML a usar.
objeto obligatorio. Define el objeto para configurar el analizador.

descripción

esta función permite analizador el analizador especificado puede ser utilizado en objeto en el objeto. Todas las funciones de devolución de llamada (callback function) pueden ser configuradas por xml_set_element_handler() y funciones similares, que se asumen objeto métodos del objeto.

instancia

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