PHP开发人员:充实您的XML工具箱

2002-8-22 13:15:34【作者】 畅享网 【进入论坛】
广告

PHP开发人员:充实您的XML工具箱
 
--使用XML和PHP的必备工具和库


Craig Knudsen (cknudsen@radix.net)

高级 Web 开发人员,Fab Gear Interactive

2001 年 6 月

PHP 对 XML 的支持随着 PHP 的流行不断在增强。可以从本文中找出近一打 PHP 开发人员可用的 XML 工具。 工具顾问 Craig Knudsen 还描述了一个从 PHP 内部访问更多 Java 工具的方法。

PHP 对 XML 的支持始于版本 3.06,当时 James Clark 流行的基 于 C 的 expat 语法分析器首次作为 PHP 3 模块集成到了该版本。自那时起,不断地开发了许多用于 XML 的 PHP 模块和类;有关我在最近一次对目前供应工具调查中发现的一些工具的概述,请参阅表格:PHP 开发人员的 XML 工具。

SAX 还是 DOM 语法分析?

PHP 4 的缺省配置包含 expat XML 语法分析器,这是一个 SAX(XML 的简单 API,Simple API for XML)语法分析器。PHP 4 中可使用 DOM(文档对象模型,Document Object Model)API,除非把 PHP 4 程序包配置成可使 用 DOM API(使用 --with-dom 配置选项)或 使用 Windows 的二进制发行版来启动 PHP 4 程序包,否则将不构建它。为了能使用 PHP 的 DOM 模块,需安 装 GNOME XML 库,而且需要使用 PHP 4.0.4 或更新版本。

DOM 和 SAX 使用不同的模式对 XML 进行语法分析。当 SAX 语法分析器遇到一个您 感兴趣的标记时,它将调用一个已指定的回调。而 DOM 却将整个文档装入一个您可以检查和操纵的树结构中。自 版本 4.0.4 起,PHP 的 DOM 模块还支持 XPath。

不是每个人都可以控制服务器环境的,所以重新构建 PHP 可能不可行。值得庆幸的是,还有另一种在 PHP 中使用 DOM 的方法。<phpXML/> 项目已开发 了一个支持 DOM 的 PHP 类。由于它全部是用 PHP 编写的,所以不需要对服务器进行任何修改。

为 XML 配置 PHP

Windows 用户将发现下载 PHP 的二进制发行版非常容易。二进制发行版的好处在于已经有人为您做了一部分的工作;您不必另外下载任何代码进行编译,并且它已经内置了许多扩展(包括 DOM 扩展)。

如果使用的不是 Windows,则可能需要从源代码构建 PHP。缺省时, PHP 最新发行版将自动包含基于 expat (SAX) 的 XML 支持。如果要在程序包中包含 DOM 支持,则必须将 PHP 程序包配置成能处理 DOM。有关如何从源代码构 建 PHP 的详细信息,请查看参考资料。同时,请牢记 在运行 PHP 的 configure 脚本时需要将 --with-dom 作为一个选项添加进去。

PHP 中的 DOM 支持仍然处于实验阶段(自版本 4.0.5 起),这意味 该 API 会在今后的版本中作更改。

使用 XSLT

PHP 4 还添加了 XSLT 功能。(XSLT 允许您将 XML 文档变换为其它格式,如 PDF 或 HTML 格式的文档,并且还允许您做更多程序上的更改。)PHP 4 中的 XSLT 模块可同时使用 expat 和 Sabloton。 在构建 PHP 之前,必须先下载并安装 Sabloton(见参考资料), 并且必须在 PHP 程序包配置期间使用 --with-sablot 选项。

Web 服务

如果您对使用 PHP 开发 Web 服务感兴趣,可以根据自己的需要 使用 SOAP 或 XML-RPC。SOAPx4 软件包同时提供了用 PHP 编写的客户机和服务器。对于 XML-RPC,可以从多种 XML-RPC 实现中选择一个, 包括 Useful Information 公司开发的很好的一个。

SOAP 和 XML-RPC 实现全部都是用 PHP 编写的。 如果您的服务器为 PHP 启用了 XML 支持(缺省情况),则不需要对服务器 作任何修改。

PHP 之外的选择

如果一直无法为要使用的工具找到 PHP 接口,还有另外一个选择:Java。虽然 PHP 的 XML 工具列表在不断扩大,但 JAVA 中仍然有更多可用的 XML 工具。PHP 4 包含了对访问 Java 对象的支持,这使 PHP 开发人员 可以使用各种 Java XML 工具。

虽然 PHP 的 Java 支持并非是全新的,但要找出如何安装与 使用 Java 模块的指示信息仍要费一番工夫。PHP 手册中没有这些指示信息。但是,您可以 查看 PHP 发行版 ext/java 目录下的“自述文件”了解介绍安装和使用的文档。切记,安装过程 对每个 Java 实现而言都存在少许差异。

PHP 开发人员的 XML 工具

 

语法分析器:
PHP XML 基于 SAX 的语法分析器,它根据 Jim Clark 的 expat 构建在 PHP 内。
PHP DOM 构建在 PHP 中的 DOM 支持,它需要 Sabloton。
<phpXML/> <phpXML/>允许 DOM 使用 PHP DOM 模块来访问 XML 文档。
phpDOM phpDOM 为 PHP DOM 模块提供了一个 PHP4 类封装器。
PRAX PRAX 是 RAX 的一种 PHP 实现,SAX 的替代。
协议:
SOAPx4 Dietrich Ayala 开发的 SOAP 客户机和服务器实现
PHP 的 SOAP 客 户机和服务器 Giga Ideas 开发的 SOAP 客户机和服务器实现
PHP 的 XML-PRC 客 户机和服务器<//td> Useful Information 公司开发的 XML-RPC 客户机和服务器实现
eZ xmlrpc<//td> XML-RPC 的客户机和服务器实现
Hail Stone XML-RPC 服务器
XMLRPC-EPI 这是一个用起来简单快捷的基于 C 的 PHP 模块,实现了客户机和服务器 XML-RPC。

参考资料

请参加内含 17 个有关开发习惯问题的调查,以便帮助 IBM 改进用于开发软件应用程序的 XML 工具和服务。

关于作者

Craig Knudsen 自 1994 起就已经在使用各种工具和语言开发 Web 应用程序。他 曾向 Linux 期刊Linux 杂志SunWorld 投过稿。Craig 居住 在美国弗吉尼亚州的 Fredericksburg,可以通过
cknudsen@radix.net 与他联系。

如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐
jill.jiang@amteam.org | 021-51096826-112 | 在线联系
老孙的IT运维管理之道[原创]用户的BSM用户的IT业务管..

从企业实际的IT运营角度来看,BSM是推动IT与业务融合,实现、改善WCNG司IT管理和治理的最佳实践之一。

吕建伟 专栏和CIO问答软件项目实施管理

现实中很少能按照正规流程来的,所以只能把流程中的各个环节拆开,个个击破,以后就可以见招拆招了。

节能与优化IT 企业CIO过冬良策

当前金融危机的影响还在继续漫延,很多企业都在苦寻过冬的良策,在这种情况下,节能与优化技术与产品无疑成为CIO们关注的首要对象,本次选题就是针对节能与优化IT来为CIO们提供过冬的良……

观08软件并购风潮 议09巨头何处生花

2008,似乎注定是不平静的一年。有人说2008是并购年。业内人士表示,在全球软件行业,并购一直是大企业谋求做大做强的捷径之一,包括甲骨文、SAP,微软等全球软件巨头都为了扩大自己……