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);
?>
PHP xml_set_unparsed_entity_decl_handler函数

语法

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