PHP xml_set_element_handler函数

PHP xml_set_element_handler函数示例

<?php

$xml_parser=xml_parser_create();
function start($xml_parser,$element_list,$element_attrs)
{
	switch($element_list)

	  {
	  case "NOTE":
	  echo "-- Note --<br />";
	  break;

	  case "TO":
	  echo "To: ";
	  break;
	  case "FROM":

	  echo "From: ";
	  break;
	  case "HEADING":
	  echo "Heading: ";

	  break;
	  case "BODY":
	  echo "Message: ";
	  }
}
function stop($xml_parser,$element_list)
{
	echo "<br />";

}   
function char($xml_parser,$data)
{
	echo $data;

}
xml_set_element_handler($xml_parser,"start","stop");
xml_set_character_data_handler($xml_parser,"char");
$fp=fopen("parsertest.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_ELEMENT_HANDLER()函数

为 parser 参数指定的 XML 解析器建立元素处理器函数。参数 start_element_handler 和 end_element_handler 为表示函数名称的字符串,这些函数必须在为 parser 指定的解析器调用 xml_parse() 函数时已存在。

语法

xml_set_element_handler(parser,start,end)

参数

参数说明
parser这是必需的参数。它被指定用于XML解析器。
start这是必需的参数。它指定在元素开头调用函数。
end这是必需的参数。它指定在元素末尾调用函数。

"start"参数指定的XML_SET_ELEMENT_HANDLER()函数必须具有三个参数:

参数说明
parser这是必需的参数。指定一个变量,该变量包含调用处理程序的XML解析器。
name这是必需的参数。可以从XML文件中指定一个变量,该变量包含触发此函数的元素的名称,作为字符串。
data这是必需的参数。将包含XML文件中的元素属性的数组指定为字符串是非常困难的。

"end"参数指定的XML_SET_ELEMENT_HANDLER()函数必须具有两个参数:

参数说明
parser这是必需的参数。指定一个变量,该变量包含调用处理程序的XML解析器。
name这是必需的参数。可以从XML文件中指定一个变量,该变量包含触发此函数的元素的名称,作为字符串。
日期:2020-06-02 22:15:39 来源:oir作者:oir