Php xml_parse()中的is_final参数做什么?
我正在创建一个用于xml解析的类,需要使用PHP中的这个方法 它有3个参数,如下所示:Php xml_parse()中的is_final参数做什么?,php,Php,我正在创建一个用于xml解析的类,需要使用PHP中的这个方法 它有3个参数,如下所示: int-xml_-parse(资源$parser,字符串$data[,bool$is_-final=false]) 根据PHP手册is_final,这意味着它是否是此解析中发送的最后一段数据,但这意味着什么?这是否与资源$parser有关?据我所知,这个函数不允许输入数据流,因此我感到困惑 请有人解释一下它的作用是最终的意味着如果要解析$data的最后一行,则必须将此参数设置为true 此外,文件中还有一个注
int-xml_-parse(资源$parser,字符串$data[,bool$is_-final=false])
根据PHP手册is_final
,这意味着它是否是此解析中发送的最后一段数据,但这意味着什么?这是否与资源$parser
有关?据我所知,这个函数不允许输入数据流,因此我感到困惑
请有人解释一下它的作用
是最终的
意味着如果要解析$data
的最后一行,则必须将此参数设置为true
此外,文件中还有一个注释:
Entity errors are reported at the end of the parse. And will only show if the "end" parameter is TRUE
请参见下面的示例
可以使用新数据多次调用xml_parse()来逐段解析文档,只要设置了is_final参数,并且在解析最后一个数据时为TRUE。
您是否可以用一个示例来详细说明?我仍然不太确定这将如何工作。看看这里的例子,通过读取fileah,您可以输入一个数据流(sorta),这澄清了很多!谢谢
<?php
$parser=xml_parser_create();
function char($parser,$data)
{
echo $data;
}
xml_set_character_data_handler($parser,"char");
$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);
?>