xml_set_object

xml_set_object -- オブジェクト内部でXMLパーサを使用する

説明

void xml_set_object(int parser, object &object);

 この関数は、objectの内部から parser を使用可能にします。 xml_set_element_handler 等により設定される 全てのコールバック関数は、object のメソッドであると仮定されます。


 <?php
 class xml  {
 var $parser;
 
 function xml() {
     $this->parser = xml_parser_create();
     xml_set_object($this->parser,&$this);
     xml_set_element_handler($this->parser,"tag_open","tag_close");
     xml_set_character_data_handler($this->parser,"cdata");
 }
 
 function parse($data) { 
     xml_parse($this->parser,$data);
 }
 
 function tag_open($parser,$tag,$attributes) { 
     var_dump($parser,$tag,$attributes); 
 }
 
 function cdata($parser,$cdata) { 
     var_dump($parser,$cdata);
 }
 
 function tag_close($parser,$tag) { 
     var_dump($parser,$tag); 
 }
 
 } // クラス xmlの終わり
 
 $xml_parser = new xml();
 $xml_parser->parse("<A ID=\"hallo\">PHP</A>");
 ?>
    

注意: xml_set_object 処理は、PHP 4.0 で追加されました。