XML与PHP
由于XSLT还没有被广泛支持,所以人们必须采取其它办法进行补充。PHP较早提供了对XML的支持,而且做得很不错。在讨论PHP之前,有必要了解服务器端脚本的概念。随着Internet的发展,大量繁杂的信息与大量不同用户之间的个性化需求令传统静态文本不堪重负。用户只想以自己喜欢的方式查看需要的信息。而普通HTML文本无法满足这一要求。这样,就产生了类似于数据库?服务器端脚本?客户(代理)的数据模型。用户向脚本提交自己的请求,由服务器端脚本向后台数据库发送相应的查询,并将查询结果进行一定的整理发送给用户。这个过程对用户是透明的,他们永远只看见自己需要的数据,不必关心它如何生成,而且,服务器端脚本可以根据用户的个人喜好,将同样的查询结果以完全不同的形式展现到用户面前。
PHP正是这样一种工具。由于它的语法和C类似,非常简练,又兼具Perl、ASP的优点,并拥有强大的文件、数据处理及数据库访问能力,而且具备跨平台特性,很快便成为热门的服务器端脚本。PHP作为用户与数据间的桥梁,根据用户的请求得到所需的数据,再以用户要求的形式返回。
目前版本的PHP能够通过expat引擎提供对XML的支持,这是一个基于字节流的解析器。如果不敢确定,做一个只包含phpinfo()函数的PHP页面,由WWW端口访问它,看看其中的XML项是否有效。
这样,基于PHP在现代Web设计中的位置,它可以一方面方便、快速地解析后台XML文档,另一方面将纯粹的HTML显示到浏览器中,完全不用担心浏览器是否支持XML,同时获得了数据的完整性和可用性。而在此之前,不得不将数据转换为HTML,或者用一大堆语句、正则表达式去提取HTML中一点点有用的东西。
PHP首先通过xml_parser_create()函数建立一个XML文档解析器,然后由这个解析器注册三个回调函数,分别用于开始标记、结束标记和数据的解析。初始化工作完成后,开始读取XML数据,并通过解析器进行解析。在读取完所有的数据以后,才会释放相关资源,并根据要求将数据赋给PHP变量,这样,PHP就可以将XML文档以完全不同的形态呈现到用户面前。
结果是XML中的数据依然完整,任何其它应用仍然可以“理解”这篇XML文档,我们也可以用适当的方法大量输出这类文档,由PHP自动处理。更重要的是,不必担心别人是否理解你的意图,不会因为浏览器的不同而无法正常显示。
文章来源:
http://www.jspcn.net
posted on 2006-07-04 13:07
Black&White JavaWorld 阅读(74)
评论(0) 编辑 收藏