PHP 开发人员:充实您的 XML 工具箱
2024-05-04 22:54:51
供稿:网友
国内最大的酷站演示中心!
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。
参考资料
您对 php 工具有什么意见吗?请通过单击文章顶部或底部的讨论,可参加与本文相关的论坛。
可以从 php 下载页面下载 php 的源代码 或 windows 的二进制发行版。
文档对象模型 (dom) 提供了一个标准对象集,用于表示 html 和 xml 文档,并提供了一个标准的接口,用于访问和操纵这些文档。
xml 路径语言 (xpath) 是 一种 xslt 和 xpointer 都能使用的,用于定位 xml 文档中某些部分的的语言。
xml 的简单 api (sax) 是对基于事件的 xml 进行语法分析的一个标准接口。
xml 面向记录 的 api (rax) 是两个主流 api(sax 和 dom)的替代项。
工业强度 亦或泡沫?对 soap、rpc 和 rmi 进行了剖析。
xml-rpc 允许在各不相同的操作系统中、在不同环境下运行的软件在整个 internet 上进行过程调用。
使用 php 脚本 语言快速编写 web 数据库脚本包含了从源代码构建 php 的逐步 指示信息,并介绍了构建数据库驱动的 php 应用程序。
为了在从源代码构建 php 时启用 dom 支持,需安装 gnome 的 xml c 库。
为了使用 php 的 xslt 模 块,在构建 php 之前必须安装 sabloton。
php 手册包含了有关使用基 于 expat 的 xml 功能、dom xml 功能和 xslt 功 能的文档。
phpbuilder 的 php & java 介绍了如何安装和使用 php java 模块。
php-xml 邮件列表由 o'reilly network 掌管。
请在“db2 开发者园地”里 dan scott 所著的文章中查找 如何 编 译 php 使其成为带 db2 支持的动态装入的 apache 模块。
可以仔细查看以下联机教程以了解使用 php 和 xml 的代码示例。
phpbuilder 有一些有关对 xml 进行语法分析的佳作,包括使 用 expat 功能和 dom xml:expat 的替代项。
phpwizard.net 中有一篇标题为 使 用 php 对 xml 进行语法分析的好文章。
php everywhere 有关于使 用 xml-rpc 的教程。
可从 linux.com 上获取 有关使用 xml-rpc 的简单示例。
solutions 2001 开发人员大会将于 8 月 13 日至 18 日在旧金山召开; 请在 agendabuilder 中搜索或浏览 230 多个会议的描述。有两打以上的会议聚集中于 xml 及其相关技术,包括:
实践: 将 xml 与 db2 集成
实践: voice xml 工具/构建绝佳应用程序
xsl 示例: xml 变换简介
使 用 java 技术对 xml 文档进行语法分析和编程。
请参加内含 17 个有关开发习惯问题的调查,以便帮助 ibm 改进用于开发软件应用程序的 xml 工具和服务。