PHP xml_set_external_entity_ref_handler function ()
Completa PHP XML Reference
Definizione e utilizzo
Funzione xml_set_external_entity_ref_handler () viene specificato quando il parser ha trovato una entità esterna nel documento XML viene chiamata una funzione.
In caso di successo, la funzione restituisce TRUE. Se fallisce, restituisce FALSE.
grammatica
xml_set_external_entity_ref_handler(parser,handler)
参数 | 描述 |
---|---|
parser | 必需。规定要使用的 XML 解析器。 |
handler | 必需。规定当解析器找到外部实体时被调用的函数。 |
Con il parametro della funzione "gestore" deve avere cinque parametri definiti:
参数 | 描述 |
---|---|
parser | 必需。规定一个变量,包含调用处理器的 XML 解析器。 |
name | 必需。规定一个变量,包含外部实体名称。 |
base | 必需。规定解析外部实体的系统标识符(system_id)的基础。当前该参数通常都被设置为 NULL。 |
system_id | 必需。规定外部实体的系统标识符。 |
public_id | 必需。规定外部实体的公共标识符。 |
Suggerimenti e Note
NOTA: gestore può anche essere un parametro che contiene una serie di riferimenti a oggetti e nomi di metodo.
Esempi
<?php
$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("test.xml","r");
while ($data=fread($fp,4096))
{
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);
?>
$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("test.xml","r");
while ($data=fread($fp,4096))
{
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);
?>
Completa PHP XML Reference