您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> php >> 正文

用PHP工具包expat解析XML

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-2-2 我要参与讨论

 


如今人人鼓吹xml是web开发者最好的朋友,有了xml的帮忙,后者即可轻松地格式化和显示来自几乎任何数据源的数据。但是,对动态内容而言,格式优良的数据却还远远谈不上达到理想状态。大多数的web开发者都会告诉你,今天的网络上没有动态内容怎么能行!问题是:“到底该如何用xml创建动态内容呢?”

答案是用动态内容处理语言来解析xml,比如用php或者perl等,从理论上说,这类程序语言是可以出于各种目的利用xml的。无非是采用一些能解析xml的工具包而已。james clark就提供了一种名叫expat的工具包。expat xml工具包用c语言解析xml,令php与xml轻松共舞。

php是一种专为web设计的绝佳脚本语言。xml是表示web内容的标准。两者联手真是要多美有多美!

下面我会给读者演示一个简单的示例,通过这个例子即可说明如何用php把xml文档解析为html。然后我会介绍一些php的其他xml概念。用php解析xml很简单,操作起来很直观但却需要对细节有所解释。一旦真正掌握了应用的要领,你肯定会惊奇自己怎么不早想到把它们俩拢一块儿来。

概述
php用expat这种xml工具包,通过c语言来解析xml。这个工具包的函数集同perl xml解析所采用的函数集是一样的,此外,这种工具包还是事件驱动型的解析器。这就是说,expat把每个xml标签或者新一行代码当作事件的起始,而事件就是函数的触发器。expat的安装非常简单,如果你正在用着apache web服务器,那么你可以在php xml参考页上找到安装和下载指南。

用php解析xml的基本任务是这样的:首先,创建xml解析器的一个实例。接着,定义处理触发事件的函数,比如开始或者结束标签等。随后,定义实际意义的数据处理程序。最后,打开xml文件,读取文件数据并解析数据。之后关闭文件释放xml解析器。

你瞧,就像我说的那样,这套操作过程没什么特别的。不过,在我们讨论具体的示例之前先了解以下的一些警示:

expat不对xml进行检验。这意味着只要xml文件格式正确——所有的元素嵌套得当、开始和关闭标签没有任何错误——它就会被解析。expat可不管xml是否遵守xml文件头中引用的标准或者定义。
expat把xml标签全部转换为大写字母。如果你的脚本在标签名和其他内容上大小写字母混用可就要小心了。
php是在magic quotes设置启用的情况下编译而成,那么复杂的xml文件不会得到正确的解析。要是magic quotes不是默认设置,你就当我没说。
好了,我们现在就来看看有关的示例!

 

基本示例

为了把复杂的事情简单化,我在例子中省略了错误检查和其他一些不必要的东西,当然,你可以在自己的代码随心所欲。我假定你早就熟悉php及其语法,而我会对xml函数做一番解释。首先我会说明脚本程序的含义,接着定义用户定义函数,实际上这些函数位于引用它们的代码之前。相关附件:程序清单a 所示为脚本的完整代码,脚本要解析的xml文档则是 相关附件:程序清

[1] [2] [3] [4] [5] 下一页

在google里搜索更多用PHP工具包expat解析XML

Google
Web www.51ec.org
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
我来说两句 对此文章发表了评论
  昵 称: *必填    ·注册用户·
  评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
评 论
内 容

 
评论列表 (最新 评论仅限网友观点!)

供求信息




| 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明