关于 PHP
超文本预处理器(PHP)是一种跨平台的脚本语言,用于编写动态网页和服务器端应用
程序软件。最初被称为 Personal Home Page/Form Interpreter (PHP/FI),后来在
Suraski
和 Gutmans
的手中获得了新生,这两个人在 1998
年 6
月推出了 PHP3。他
们的公司 Zend Technologies
仍然控制着 PHP 的发展。
PHP5
于 2004
年 7
月发布,以 Zend Engine II 为基础,提供了很多新特性,其中包
括:
对面向对象编程的全新支持
更好地支持 MySQL
更好地支持 XML,这正是我们所关心的
PHP5
和 XML
虽然 PHP
在以前的版本中就提供了 XML
支持,但是随着 PHP5 的出现这种支持大大强
化了。由于 PHP4
对 XML
的支持比较有限,比如默认情况下只提供基于 SAX 的解析器 、
PHP4 DOM
没有实现 W3C
标准,对于 PHP5
,可以说 PHP XML 开发人员是重新发明
了轮子,符合常用的标准。
PHP5
新增 XML 特性
PHP5
包 括 彻 底 重 新 编 写 的 和 新 增 加 的 扩 展 , 如
SAX 解 析 器 、
DOM 、SimpleXML 、XMLReader、XMLWriter
和 XSLT 处理程序。所有这些扩展都以
libxml2 为基础。
除了自 PHP4
改进的 SAX 支持以外,PHP5
还同时支持符合 W3C
标准的 DOM 和
SimpleXML
扩展。默认情况下同时支持 SAX、DOM
和 SimpleXML。如果熟悉其他语言
中的 DOM
,使用 PHP 实现类似的功能会更简单。
PHP5
中读取、操纵和写入 XML
如果使用 PHP5
读取、操作、编写 XML
,而且处理的 XML 文档简单、可预测、比较小,则
SimpleXML
,必要的时候再加上 DOM,是最理想的选择。
快速入门的 API
在 PHP5
众多的 API
中 DOM
和 SimpleXML 是最为人所熟悉(DOM)和最简单的
(SimpleXML)。而且多数情况下,就像后面的例子一样,也是功能最完善的。
DOM 扩展
文档对象模型(DOM
)是表示 HTML
和 XML
文档的 W3C 标准对象集合,将这些对象
结合起来的标准模型以及访问和操纵它们的标准接口。很多厂商支持 DOM 作为其私有数
据结构和 API
的接口,由于开发人员对其比较熟悉,给 DOM 模型增加了不少权威色彩。
DOM
很容易理解和使用,因为其内存结构模仿了原始 XML 文档。为了把信息传递给应
用程序,DOM
创建和 XML
文件元素树完全相同的对象树,每个 XML 元素都用树中的
一个节点表示。DOM
是基于树的解析器。因为 DOM 要构造整个文档树,要花费大量的
内存和处理器时间。因此,性能问题决定了使用 DOM 很难处理大型文档。本文中主要把
DOM
扩展用于导入 SimpleXML
格式(作为字符串)和输出 DOM
格式的 XML(作为
XML 文件)或者相反。
SimpleXML
我们选择 SimpleXML
扩展解析 XML 文档。SimpleXML
扩展需要 PHP5 并包括和
DOM
的互操作性,以便编写 XML
文件和内置的 XPath 支持。SimpleXML 最适合简单
的、类似记录的数据,比如从同一个应用程序其他部分传递来的 XML 文档或字符串。如
果 XML
文档不是很复杂,嵌套不太深,没有混合内容,使用 SimpleXML
要比 DOM
简单得多,就像其名字所说的那样。如果使用已知的文档结构就更可靠。