用PHP&XML编制迷你搜索引擎(二)
三、一个最简单的用[url=javascript:;]PHP[/url]显示[url=javascript:;]XML[/url]的范例 下面的程序是将解析XML并按照树形结构输出至浏览器,并显示每层的元素总数。 __________________________________________________________ = "demo.xml";// XML文件 // 解析XML文件的函数 function xml_parse_from_file($parser, $file) { if(!file_exists($file)) { die("Can’t find file "$file"."); } if(!($fp = @fopen($file, "r"))) { die("Can’t open file "$file"."); } while($data = fread($fp, 4096)) { if(!xml_parse($parser, $data, feof($fp))) { return(false); } } fclose($fp); return(true); } function start_element($parser, $name, $attrs) //遇到了开元素标记如就执行这一段, //$name=a,$attrs为一个属性数组 { global $level,$levelcount,$maxlevel; $level += 1; if($level>$maxlevel)$maxlevel=$level; $levelcount[$level]+=1; echo " "; for($i=1;$i0)echo"+----"; echo "".trim($name)." "; while ( list( $key, $val ) = each( $attrs ) ) { //显示属性 echo "$key => $val; "; } } function stop_element($parser, $name) //遇到了开元素标记如就执行这一段, { global $level; $level -= 1; } function data($parser, $data) { global $level; if(trim($data)!=""){ echo trim($data); } } function showcount() //显示每一层的元素总数 { global $maxlevel,$levelcount; echo " "; for ($i=0;$i?>
|