PHP xml_set_unparsed_entity_decl_handler函数示例
<?php $xml_parser=xml_parser_create(); function char($xml_parser,$data) { echo $data; } function unparsed_ent_handler($xml_parser,$entname,$base,$sysID,$pubID,$notname) { print "$entname<br />"; print "$sysID<br />"; print "$pubID<br />"; print "$notname<br />"; } xml_set_character_data_handler($xml_parser,"char"); xml_set_unparsed_entity_decl_handler($xml_parser, "unparsed_ent_handler"); $fp=fopen("test1.xml","r"); while ($data=fread($fp,4096)) { xml_parse($xml_parser,$data,feof($fp)) or die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } xml_parser_free($xml_parser); ?>
语法
xml_set_unparsed_entity_decl_handler(parser,handler)
为 parser 参数指定的 XML 解析器建立未解析实体定义声明处理器函数。
当 XML 解析器遇到如下含有 NDATA 声明的外部实体定义声明时,该 handler 处理器将被调用:
<!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter> | <parameter>systemId</parameter>} NDATA <parameter>notationName</parameter>
参数
Parameter | 说明 |
---|---|
parser | 这是必需的参数。它被指定用于XML解析器。 ,用于建立未解析实体定义声明处理器。 |
handler | 这是必需的参数。它指定了当解析器找到一个表示法声明时要调用的函数。 |
由 handler 参数命名的xml_set_unparsed_entity_decl_handler函数必须接受六个参数:
参数 | 说明 |
---|---|
parser | 这是必需的参数。指定一个变量,该变量包含调用处理程序的XML解析器。,用于建立未解析实体定义声明处理器。 |
name | 这是必需的参数。它可以指定包含实体名称的变量。 |
base | 这是必需的参数。它指定用于解析实体的系统标识的基础。现在,这总是空的。 |
system_id | 这是必需的参数。可以指定一个包含实体的系统标识符的变量。 |
public_id | 这是必需的参数。它可以指定一个包含实体的公共标识符的变量。 |
notation | 这是必需的参数。它是一个变量,包含标识实体数据类型的符号。 |
日期:2020-06-02 22:15:40 来源:oir作者:oir