关键词:一对多自由控制语音, PHP XML Expat 解析器
一、一对多自由控制语音
1.1 在demos2下面
https://192.168.1.14:9001/demos2/StreamHasData.html
1.2 代码分析
二、PHP XMLExpat 解析器
2.1 PHP XML Expat 解析器
1)内建的 Expat 解析器使在 PHP 中处理 XML 文档成为可能。
XML 是什么?
XML 用于描述数据,其焦点是数据是什么。XML 文件描述了数据的结构。
在 XML 中,没有预定义的标签。您必须定义自己的标签。
Expat 是什么?
如需读取和更新 - 创建和处理 - 一个 XML 文档,您需要 XML 解析器。
有两种基本的 XML 解析器类型:
基于树的解析器:这种解析器把 XML 文档转换为树型结构。它分析整篇文档,并提供了对树中元素的访问,例如文档对象模型 (DOM)。
基于事件的解析器:将 XML 文档视为一系列的事件。当某个具体的事件发生时,解析器会调用函数来处理。
Expat是基于事件的解析器。
基于事件的解析器集中在 XML 文档的内容,而不是它们的结构。正因为如此,基于事件的解析器能够比基于树的解析器更快地访问数据。
2)看个例子
<from>Jani</from>
基于事件的解析器把上面的 XML 报告为一连串的三个事件:
· 开始元素:from
· 开始 CDATA 部分,值:Jani
· 关闭元素:from
3)看个大例子
XML文件如下:
程序如下:
运行结果如下:
分析:
1. 通过 xml_parser_create() 函数初始化 XML 解析器
2. 创建配合不同事件处理程序的的函数
3. 添加 xml_set_element_handler() 函数来定义,当解析器遇到开始和结束标签时执行哪个函数
4. 添加 xml_set_character_data_handler() 函数来定义,当解析器遇到字符数据时执行哪个函数
5. 通过 xml_parse() 函数来解析文件"test.xml"
6. 万一有错误的话,添加 xml_error_string() 函数把XML 错误转换为文本说明
7. 调用 xml_parser_free() 函数来释放分配给xml_parser_create() 函数的内存
2017年1月29日星期日
616字 银牌