hàm xml_set_object() của PHP

định nghĩa và cách sử dụng

hàm xml_set_object() cho phép sử dụng giải pháp XML trong đối tượng.

cú pháp

xml_set_object(parser,đối tượng)
tham số mô tả
parser bắt buộc. Định nghĩa giải pháp XML cần thiết để sử dụng.
đối tượng bắt buộc. Định nghĩa đối tượng cần thiết để thiết lập giải pháp.

mô tả

hàm này cho phép parser mô tả giải pháp có thể được sử dụng trong đối tượng tất cả các hàm gọi lại (callback function) trong đối tượng đều có thể được thiết lập bằng các hàm như xml_set_element_handler() v.v., chúng được giả định là đối tượng các phương thức của đối tượng.

thực thể

<?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))
      {
      //Nếu có lỗi
      die( print "ERROR: "
      . xml_error_string(xml_get_error_code($this->xmlparser))
      . "<br />Dòng: "
      . xml_get_current_line_number($this->xmlparser)
      . "<br />Cột: "
      . 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();
?>