当前位置: 首页 > 网络学院 > 服务端脚本教程 > PHP > xml_set_external_entity_ref_ha
The xml_set_external_entity_ref_handler() function specifies a function to be called when the parser finds an external entity in the XML document.
xml_set_external_entity_ref_handler()函数的作用是:设置处理XML文档中的外部实体的函数。
This function returns TRUE on success, or FALSE on failure.
如果函数执行成功,将返回True;如果执行失败将返回False。
xml_set_external_entity_ref_handler(parser,handler) |
Parameter参数 | Description描述 |
---|---|
parser | Required. Specifies XML parser to use 必要参数。指定需要使用的XML解析器 |
handler | Required. Specifies a function to be called when the parser finds an external entity 必要参数。指定一个用来查找外部实体的函数 |
The Function specified by the "handler" parameter must have five parameters:
这个函数所指定的“handler”参数必须包含下面五个参数:
Parameter参数 | Description描述 |
---|---|
parser | Required. Specifies a variable containing the XML parser calling the handler 必要参数。指定一个包含XML解析器的可用值 |
name | Required. Specifies a variable containing the name of the external entity 必要参数。指定包含外部实体名称的变量 |
base | Required. Specifies the base for resolving the system identifier (system_id) of the external entity. Currently, this is always NULL 必要参数。指定解析外部实体的系统标志符的base[基准]。当前值通常为NULL[空] |
system_id | Required. Specifies the system identifier for the external entity 必要参数。指定外部实体的系统标志符 |
public_id | Required. Specifies the public identifier for the external entity 必要参数。指定外部实体的公共标志符 |
Note: The handler parameter can also be an array containing an object reference and a method name.
注意:handler参数可以是一个包含对象参数和方法名称的数组。
<?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); ?> |