PHP xml_set_external_entity_ref_handler() 函式
示例
建立一個 XML 解析器,設定字元資料處理程式,設定外部實體引用處理程式,並解析 XML 文件
<?php
// 建立一個 XML 解析器
$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>";
}
// 設定字元資料處理程式
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)) or
die (sprintf("XML 錯誤: %s, 行號 %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 文件中找到外部實體時要呼叫的函式。
注意: handler 引數也可以是一個數組,其中包含一個物件引用和一個方法名稱。
語法
xml_set_external_entity_ref_handler(parser, handler)
引數值
引數 | 描述 |
---|---|
parser | 必需。指定要使用的 XML 解析器 |
handler | 必需。指定一個用作事件處理程式的函式。該函式必須接受五個引數
|
技術詳情
返回值 | 成功時為 TRUE。失敗時為 FALSE |
---|---|
PHP 版本 | 4.0+ |
❮ PHP XML 解析器參考