易截截图软件、单文件、免安装、纯绿色、仅160KB

用php读取xml数据


今天工作上碰到一个问题 由于我们的项目数据太少 所以需要从web search那边借调数据,他们只给我们提供了一个xml的接口。因此,我们需要把xml的数据转化成html呈现给大家。由于项目是基于php的,所以就摒弃了用js来读取xml选择了继续使用php。不过,我以前从来没有做过此类的尝试 所以找了很多网上资料同时参照了php的工作手册,发现在php4的环境下 用parser函数是一个比较好的选择(当然也可以用dom 但是需要对服务器重新进行配置 php5对dom支持得比较好)。
虽然以前没有接触过此类问题,但是还是很快就解决了,不过在解决和摸索的过程中发现网上关于此类的资料虽然不少,但是参差不齐,很多描述不是很详细,还是操作手册比较管用。
好了,言归正传:
parser是php内置的一个用来处理xml的解析器,它的工作由三个事件组成:起始标签、 读取数据、结束标签。
也就是说在对xml进行处理的时候每当遇到起始标签、数据和结束标签的时候函数会做相应的动作来完成对xml数据的转换。
php中对xml读取的相关函数的介绍:
引用:
--------------------------------------------------------------------------------
对象 XML解析函数 描述
元素 xml_set_element_handler() 元素的开始和结束
字符数据 xml_set_character_data_handler() 字符数据的开始
外部实体 xml_set_external_entity_ref_handler() 外部实体出现
未解析外部实体 xml_set_unparsed_entity_decl_handler() 未解析的外部实体出现
处理指令 xml_set_processing_instruction_handler() 处理指令的出现
记法声明 xml_set_notation_decl_handler() 记法声明的出现
默认 xml_set_default_handler() 其它没有指定处理函数的事件
--------------------------------------------------------------------------------
下面就给大家举一个小小的例子用parser函数来读取xml数据:
<?php
$parser = xml_parser_create(); //创建一个parser编辑器
xml_set_element_handler($parser, "startElement", "endElement");//设立标签触发时的相应函数 这里分别为startElement和endElenment
xml_set_character_data_handler($parser, "characterData");//设立数据读取时的相应函数
$xml_file="1.xml";//指定所要读取的xml文件,可以是url
$filehandler = fopen($xml_file, "r");//打开文件
while ($data = fread($filehandler, 4096))
{
    xml_parse($pars


相关文档:

linux下 php5.3.2 调用 so

php 通用的调用 so的方法是使用dl()函数,但是在php5.3之后不再支持这种方法,仅支持静态调用,使用dl() 动态调用的方法见:
   引用页1:   http://tech.idv2.com/2007/07/06/use-local-so-in-php/
感谢原作者提供的清晰明了的方法,但是我在5.3.1版本i中没有通过,于是我找到了页面:
    ......

实现支持post和get的PHP函数

function getsock($strUrl,$arrParameter=array(),$strMethod="POST"){
 if(!$strUrl||!$strMethod){ return "";}
 $strMethod = strtoupper($strMethod);
 $arrUrl = parse_url($strUrl);
 if($arrUrl["port"]==0){$arrUrl["port"]=80;}
 $fso = fsockopen($arrUrl["host"],$arrUrl["port"] ......

php获取服务器时间

很多时候我们喜欢用js来获取日期和时间,但这仅仅是客户端的。
我们可以用php的date函数即可来获取服务器上的时间:
 <?php
//将时区设置为中国
date_default_timezone_set("PRC");
echo date("Y-m-d l H:i:s A");
//例输出:2010-03-06 Saturday 11:51:29 AM
?> ......

PHP中插件机制的一种实现方案

PHP中插件机制的一种实现方案
这篇文章的出发点是由于一朋友问我是否会插件,以及对插件机制是否理解,及其在PHP中的实现。我当时认为不就是一个功能的实现么,呵呵。想法很简单,在网上查了一下,才知道原来不是那么简单的一回事,在网上摘录了一个方法,此方案仅是插件机制在PHP中的实现方案之一,摘录下来和大家分 ......

Nginx web+php web服务器的搭建

Linux版本: Red Hat Enterprise Linux 5
Nginx版本: nginx 0.8.34
PHP版本:    php 5.2.13
MySQL版本:5.0.22
php所需支持库:libiconv、libmcrypt、mhash、mcrypt
1、编译安装php所需支持库
# tar zxvf libiconv-1.13.tar.gz
# cd libiconv-1.13/
# ./configure --prefix=/usr/local
# make &a ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号