xml_set_element_handler
设置开始和结束元素处理程序
该函数自 PHP 4.0.0 起可用。
xml_set_element_handler 函数用于设置 XML 解析时的开始和结束元素的回调函数。这个函数通常用于解析 XML 数据时,处理每个开始和结束标签。
bool xml_set_element_handler(resource $parser, callable $start_element, callable $end_element)
该函数成功时返回 true,失败时返回 false。
<?php // 创建一个 XML 解析器 $xml_parser = xml_parser_create(); <p>// 设置开始标签和结束标签的回调函数<br> xml_set_element_handler($xml_parser, "startElement", "endElement");</p> <p>// 开始解析 XML 数据<br> $data = "<root><item>Item 1</item><item>Item 2</item></root>";<br> xml_parse($xml_parser, $data);</p> <p>// 释放解析器<br> xml_parser_free($xml_parser);</p> <p>// 回调函数:开始标签<br> function startElement($parser, $name, $attrs) {<br> echo "开始元素: $name\n";<br> }</p> <p>// 回调函数:结束标签<br> function endElement($parser, $name) {<br> echo "结束元素: $name\n";<br> }<br> ?><br>
在此示例中,我们首先使用 xml_parser_create 创建一个 XML 解析器。接着,我们使用 xml_set_element_handler 设置了两个回调函数,一个用于处理开始元素 startElement,另一个用于处理结束元素 endElement。
接下来,我们定义了一个简单的 XML 字符串并调用 xml_parse 开始解析这个字符串。当解析器遇到开始标签时,会触发 startElement 函数;当解析器遇到结束标签时,会触发 endElement 函数。
最后,使用 xml_parser_free 释放解析器。