PHP xml_set_external_entity_ref_handler() 関数
例
XML パーサーを作成し、文字データ ハンドラーを設定し、外部エンティティ参照ハンドラーを設定して、XML ドキュメントを解析します。
<?php
// Create an XML parser
$parser=xml_parser_create();
function char($parser,$data) {
echo $data;
}
function ext_ent_handler($parser,$ent,$base,$sysID,$pubID) {
echo "$ent<br>";
echo "$sysID<br>";
echo "$pubID<br>";
}
// Set the character data handler
xml_set_character_data_handler($parser,"char");
// Set the external entity reference handler
xml_set_external_entity_ref_handler($parser, "ext_ent_handler");
$fp=fopen("note_entity.xml","r");
while ($data=fread($fp,4096)) {
// Parse XML data
xml_parse($parser,$data,feof($fp)) or
die (sprintf("XML Error: %s at line %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 ドキュメント内で外部エンティティを検出したときに呼び出される関数を指定します。
注:ハンドラーパラメーターは、オブジェクト参照とメソッド名を含む配列にすることもできます。
構文
xml_set_external_entity_ref_handler(parser, handler)
パラメータ値
パラメータ |
説明 |
---|---|
parser | 必須。使用する XML パーサーを指定します |
handler | 必須。イベント ハンドラとして使用する関数を指定します。関数は
5 つのパラメーターを受け入れます。
|
技術的な詳細
戻り値: |
成功した場合はTRUE。失敗した場合は FALSE |
---|---|
PHP バージョン: |
4.0+ |
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。