多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# PHP xml_set_element_handler() 函数 ## 定义和用法 xml_set_element_handler() 函数建立起始和终止元素处理器。 如果处理器被成功的建立,该函数将返回 true;否则返回 false。 ### 语法 ``` xml_set_element_handler(parser,start,end) ``` | 参数 | 描述 | | --- | --- | | parser | 必需。规定要使用的 XML 解析器。 | | start | 必需。规定在元素开始调用的函数。 | | end | 必需。规定在元素结束调用的函数。 | 由 _start_ 参数规定的函数必须有三个参数: | 参数 | 描述 | | --- | --- | | parser | 必需。规定一个变量,包含调用处理器的 XML 解析器。 | | name | 必需。规定一个变量,包含元素的名称,这个元素触发该函数。 | | data | 必需。规定一个数组,包含元素属性。 | 由 _end_ 参数规定的函数必须有三个参数: | 参数 | 描述 | | --- | --- | | parser | 必需。规定一个变量,包含调用处理器的 XML 解析器。 | | name | 必需。规定一个变量,包含元素的名称,这个元素触发该函数。 | ### 说明 _start_ 和 _end_ 参数也可以是一个数组,其中包含对象引用和方法名。 ## 例子 ``` <?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_set_element_handler($parser,"start","stop"); 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); ?> ``` 输出: ``` -- Note -- To: George From: John Heading: Reminder Message: Don't forget the meeting! ```