fonction xml_set_external_entity_ref_handler PHP ()
PHP complète XML Reference
Définition et utilisation
fonction xml_set_external_entity_ref_handler () est spécifiée lorsque l'analyseur trouve une entité externe dans le document XML est appelé une fonction.
En cas de succès, la fonction retourne TRUE. Si elle échoue, elle retourne FALSE.
grammaire
xml_set_external_entity_ref_handler(parser,handler)
参数 | 描述 |
---|---|
parser | 必需。规定要使用的 XML 解析器。 |
handler | 必需。规定当解析器找到外部实体时被调用的函数。 |
Par le paramètre de fonction "gestionnaire" doit avoir cinq paramètres définis:
参数 | 描述 |
---|---|
parser | 必需。规定一个变量,包含调用处理器的 XML 解析器。 |
name | 必需。规定一个变量,包含外部实体名称。 |
base | 必需。规定解析外部实体的系统标识符(system_id)的基础。当前该参数通常都被设置为 NULL。 |
system_id | 必需。规定外部实体的系统标识符。 |
public_id | 必需。规定外部实体的公共标识符。 |
Trucs et astuces
REMARQUE: gestionnaire peut également être un paramètre qui contient un tableau de références d'objets et noms de méthodes.
Exemples
<?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);
?>
PHP complète XML Reference