xml_set_element_handler
设置开始和结束元素处理程序
xml_set_element_handler()
函数用于指定在 XML 文档中元素的开始和结束时调用的函数。
注意:start 和 end 参数也可以是一个包含对象引用和方法名称的数组。
指定在 XML 文档(note.xml)中元素的开始和结束时调用的函数:
<?php $parser = xml_parser_create(); function start($parser, $element_name, $element_attrs) { switch($element_name) { 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($parser, $element_name) { echo "<br>"; } function char($parser, $data) { echo $data; } // 指定在 XML 文档中元素的开始和结束时调用的函数 xml_set_element_handler($parser, "start", "stop"); xml_set_character_data_handler($parser, "char"); $fp = fopen("note.xml", "r"); while ($data = fread($fp, 4096)) { xml_parse($parser, $data, feof($fp)) or die (sprintf("XML 错误:%s 在第 %d 行", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); fclose($fp); ?>
运行实例
xml_set_element_handler(parser, start, end)
参数 | 描述 |
---|---|
parser | 必需。指定要使用的 XML 解析器 |
start |
必需。指定在元素开始时调用的函数。该函数必须具有三个参数:
|
end |
必需。指定在元素结束时调用的函数。该函数必须具有两个参数:
|