一、什么是 XML?
二、如何解析XML?
三、使用Expat解析器:
XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
二、如何解析XML?
有两种基本的 XML 解析器类型:
基于树的解析器:这种解析器把 XML 文档转换为树型结构。它分析整篇文档,并提供了 API 来访问树种的元素,例如文档对象模型 (DOM)。
基于事件的解析器:将 XML 文档视为一系列的事件。当某个具体的事件发生时,解析器会调用函数来处理。如(PHP Expat)。
三、使用Expat解析器:
将在我们的例子中使用下面的 XML 文件:
<?xml version="1.0" encoding="ISO-8859-1"?><note><to>George</to><from>John</from><heading>Reminder</heading><body>Don't forget the meeting!</body></note>
我们要在 PHP 中初始化 XML 解析器,为不同的 XML 事件定义处理器,然后解析这个 XML 文件。
<?php
//初始化XML解析器$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;}
//定义,当解析器遇到开始和结束标签时执行哪个函数