PHP XML Expert解析器
PHP bulit-in-expert解析器提供了多种改进的XML解析技术。Expert是一个面向流的解析器。Expert解析器用于对XML文档进行读取、更新、创建和操作。XML Expert解析器函数是PHP核心的一部分。
XMl解析器有两种基本类型:
- 基于树的解析器
基于树的解析器用于将整个XML文档加载到内存中,并提供对树元素的访问。例如,文档对象模型(DOM)。 - 基于事件的解析器
基于事件的解析器用于在特定事件发生时调用函数来处理它。
php Expert解析器的例子
首先创建XML文件:
<?xml version="1.0" encoding="ISONO"?> <note> <to>onitroad_blog</to> <from>jack</from> <heading>xml</heading> <body>xml body</body> </note>
然后创建一个读取XML文件的PHP应用程序:
<?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"); //open and reading a XML file. 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); ?>
日期:2020-06-02 22:15:38 来源:oir作者:oir