当前位置:Linux教程 - Php - 当 PHP 碰上 XML

当 PHP 碰上 XML



         想不想有一种代理程式,可以帮你订取便宜的机票,帮你规划最棒的旅游行程,上班前帮你把今天所有的事先排好优先顺序,像个私人秘书? 你对于资料的转换是不是已经厌烦了? Excel, Access, Oracle, Sybase, Informix, Mysql, Postgresql 明明都是表格状的资料,为什么就是转不过来呢? XML 是你要的解决方案,当别人都拚命的研究应用时,你不应该错过它,如果你是 PHP 的使用者,你更不该错过本文。

      Expat 是 php 使用的 XML 解析器,要使用 Expat,在编译PHP 时,需要加入--with-xml 参数。Expat 定义了七种可能发生的 XML 事件,使用上,我们要先取得 XML 解析器的实例 instance,实例使用上就像 php 对数据库进行查询后所取得的结果识别码一般。要使用 Expat 定义的七种事件对 XML 文件进行操作,一定要有这个实例做为第一个参数。

      XML 解析器有两种型式:第一种是树状的解析器,将 XML 文件内容解析成树状结构。DOM 就是其中常见的标准。第二种是以事件触发的解析器,将 XML 文件的内容当做一连串事件内容的集合,解析器碰上了可以处理的内容,就丢给发展者写的函式来处理。

      Expat 即是一种事件触发型的解析器。Expat 对于缺乏资料型别定义 DTD 的 XML 文件仍然能够处理,但是 XML 文件必需型式完整(就是前后的标签一个都不能少就对啦),否则 Expat仍然无法处理。对于型式完整但缺乏 DTD 的 XML 文件而言,Expat 是一个快速又体积小的解决方案。

      编者感言:传统上,为了让 WWW 的版面好看,不得不使用大量的表格来做为精确定位,但同时也造成了 HTML 内部标签 tag 码混乱,解读不易的困境,对于一些聪明代理人的发展造成困扰。所谓的聪明代理人就是一种搜寻程式,举例说,如果你今天想要台北到台中最便宜的机票,聪明代理人会自动地到各旅行社的网页上,搜寻机票的报价,再由其中找出你想要的资料,HTML 文件内容的混乱,造成聪明代理人发展的障碍,因此有必要对此加以解决。

      XML 就是一种不错的解决方案,它可以使文件的内容和表现型式分开,同时让资料的存取较为容易,在今天 XML 已经确定是 WWW 的未来了,各厂商莫不拚命地进行研究 XML 到底是什么东西,而 XML 中的 DTD 资料型别定义,就是其中的关键,我可以看得到的,在各种产业,标准的战火马上就要燃起来,新的战场,就在 DTD。对我们而言,在你程式处理的问题,其产业标准的 DTD 没出来前,Expat 是一个不错的解决方案,至少你不用去参考别人订的 DTD,也可以取存 XML 中的资料。
    发布人:netbull 来自:中国软件