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
