xml_set_external_entity_ref_handler
外部エンティティリファレンスハンドラーのセットアップ
xml_set_external_entity_ref_handler()
関数は、パーサーがXMLドキュメントで外部エンティティを見つけたときに呼び出される関数を指定するために使用されます。
注:ハンドラーパラメーターは、オブジェクトの参照とメソッド名を含む配列でもあります。
XMLパーサーを作成し、文字データハンドラーを設定し、外部エンティティリファレンスハンドラーを設定し、XMLドキュメントを解析します。
<?php // XMLパーサーを作成します $ parser = xml_parser_create ( ) ; function char ( $ parser 、 $ data ) { echo $ data ; } 関数ext_ent_handler ( $ parser 、 $ ent 、 $ base 、 $ sysid 、 $ pubid ) { echo " $ ent <br>" ; echo " $ sysid <br>" ; echo " $ pubid <br>" ; } //文字データ処理プログラムを設定します xml_set_character_data_handler ( $ parser 、 "char" ) ; //外部エンティティリファレンスハンドラーを設定します xml_set_external_entity_ref_handler ( $ parser 、 "ext_ent_handler" ) ; $ fp = fopen ( "note_entity.xml" 、 "r" ) ; while ( $ data = fread ( $ fp 、 4096 ) ) { // XMLデータを解析します xml_parse ( $ parser 、 $ data 、 feof ( $ fp ) )または die ( sprintf ( "xmlエラー:オンライン%d") 、 XML_ERROR_STRING ( XML_GET_ERROR_CODE ( $ PARSER ) ) 、 xml_get_current_line_number ( $ parser ) ) ) ; } xml_parser_free ( $ parser ) ; fclose ( $ fp ) ; ?>
インスタンスを実行します
xml_set_external_entity_ref_handler (パーサー、ハンドラー)
パラメーター | 説明する |
---|---|
パーサー | 必須。使用するXMLパーサーを指定します |
ハンドラ |
必須。イベントハンドラーとして使用される関数を指定します。この関数は、5つのパラメーターを受け入れる必要があります。
|