当前位置: 首页 > 网络学院 > 服务端脚本教程 > PHP > xml_set_unparsed_entity_decl_h
The xml_set_unparsed_entity_decl_handler() function specifies a function to be called when the parser an unparsed entity in the XML document.
xml_set_unparsed_entity_decl_handler()函数的作用是:设置XML文档中未解析的实体声明的处理函数。
This function returns TRUE on success, or FALSE on failure.
如果函数执行成功,将返回True;如果执行失败将返回False。
xml_set_unparsed_entity_decl_handler(parser,handler) |
Parameter 参数 | Description 描述 |
---|---|
parser | Required. Specifies XML parser to use 必要参数。指定需要使用的XML解析器 |
handler | Required. Specifies a function to be when the parser finds a notation declaration 必要参数。指定处理ZML文档中符号声明的函数 |
The Function specified by the "handler" parameter must have six 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 entity 必要参数。指定包含外部实体名称的变量 |
base | Required. Specifies a variable containing the base for resolving the system identifier (system_id) of the entity. Currently, this is always NULL 必要参数。指定解析外部实体的系统标志符的base[基准]。当前值通常为NULL[空] |
system_id | Required. Specifies a variable containing the system identifier for the entity 必要参数。指定外部实体的系统标志符 |
public_id | Required. Specifies a variable containing the public identifier for the entity 必要参数。指定外部实体的公共标志符 |
notation | Required. Specifies a variable containing the notation identifying the data type of the 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 unparsed_ent_handler($parser,$entname, $base,$sysID,$pubID,$notname) { print "$entname<br />"; print "$sysID<br />"; print "$pubID<br />"; print "$notname<br />"; } xml_set_character_data_handler($parser,"char"); xml_set_unparsed_entity_decl_handler($parser, "unparsed_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); ?> |