关于PHP工具包expat解析XML揭秘_PHP教程

php中文网
发布: 2016-07-15 13:27:48
原创
1067人浏览过

php随着发展,功能也在强大,文章介绍主要介绍php工具包的作用,希望可以给大家带来帮助。如今人人鼓吹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免费学习笔记(深入)”;

DeepBrain
DeepBrain

AI视频生成工具,ChatGPT +生成式视频AI =你可以制作伟大的视频!

DeepBrain 94
查看详情 DeepBrain

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

你瞧,就像我说的那样,这套操作过程没什么特别的。不过,在我们讨论具体的示例之前先了解以下的一些警示:Expat不对XML进行检验。这意味着只要XML文件格式正确——所有的元素嵌套得当、开始和关闭标签没有任何错误——它就会被解析。Expat可不管XML是否遵守XML文件头中引用的标准或者定义。Expat把XML标签全部转换为大写字母。如果你的脚本在标签名和其他内容上大小写字母混用可就要小心了。PHP是在magic quotes设置启用的情况下编译而成,那么复杂的XML文件不会得到正确的解析。要是magic quotes不是默认设置,你就当我没说。

基本示例

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

<OL class=dp-xml><LI class=alt><SPAN><SPAN>XML Articles  </SPAN></SPAN><LI class=""><SPAN>"Remedial XML for programmers: Basic syntax"              </SPAN><LI class=alt><SPAN>In this first installment in a three-part series,   </SPAN><LI class=""><SPAN>I'll introduce you to XML and its basic syntax.  </SPAN><LI class=alt><SPAN>"Remedial XML: Enforcing document formats with DTDs"              </SPAN><LI class=""><SPAN>To enforce structure requirements for an XML document, you have to turn to one of XML's attendant technologies, data type definition (DTD).  </SPAN><LI class=alt><SPAN>"Remedial XML: Using XML Schema"              </SPAN><LI class=""><SPAN>In this article, we'll briefly touch on the shortcomings of DTDs and discuss the basics of a newer, more powerful standard: XML Schemas.  </SPAN><LI class=alt><SPAN>"Remedial XML: Say hello to DOM"              </SPAN><LI class=""><SPAN>Now it's time to put on your programmer's hat and get acquainted with Document Object Model (DOM),   </SPAN><LI class=alt><SPAN>which provides easy access to XML documents via a tree-like set of objects.  </SPAN><LI class=""><SPAN>"Remedial XML: Learning to play SAX"              </SPAN><LI class=alt><SPAN>In this fifth installment in our Remedial XML series, I'll introduce you to the SAX API and provide some links to <br>SAX implementations in several languages. </SPAN></LI></OL>
登录后复制



www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446502.htmlTechArticlePHP随着发展,功能也在强大,文章介绍主要介绍PHP工具包的作用,希望可以给大家带来帮助。如今人人鼓吹XML是Web开发者最好的朋友,有了...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号