❮ PHP XML パーサー リファレンス
例
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 つのパラメーターを受け入れます。
- $parser - ハンドラーを呼び出す XML パーサーを含む変数
- $name - 外部エンティティの名前を含む変数
- $base - 外部エンティティのシステム識別子 (system_id) を解決するためのベース。通常は空の文字列
- $system_id - エンティティ宣言で指定されたシステム識別子
- $public_id - エンティティ宣言で指定された公開識別子
|
技術的な詳細
戻り値: |
成功した場合はTRUE。失敗した場合は FALSE |
PHP バージョン: |
4.0+ |
❮ PHP XML パーサー リファレンス