扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:佚名 来源:Aspsky 2007年10月26日
关键字: Linux
<?xml version="1.0" encoding="gb2312" ?> <links>采用PHP和XML技术构建的搜索引擎 <web memo="memo1" url="">name1</web> <sub>电脑网络 <web memo="nemo2">name2</web> <sub>程序设计 <web memo="memo3">name3</web> <sub>PHP <web url="http://www.phpbuilder.com/" memo="[英文]PHP开发资源。"> www.phpbuilder.com</web> <web url="http://www.fokus.gmd.de" memo="[英文]PHP开发手册。 "> PHP Manual</web> </sub> </sub> </sub> </links> |
<?php $file = "demo.xml";// XML文件 function xml_parse_from_file($parser, $file) {// 解析XML文件的函数 } function start_element($parser, $name, $attrs) {//遇到了开元素标记如<a href="link">就执行这一段} function stop_element($parser, $name) {//遇到了开元素标记如</body>就执行这一段} function data($parser, $data) {……} function showcount(){ //显示每一层的元素总数} global $level,$levelcount,$maxlevel; $level = -1; $parser = xml_parser_create();// 产生解析器的实例 xml_set_element_handler($parser, "start_element", "stop_element"); // 设置处理函数 xml_set_character_data_handler($parser, "data"); xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); $ret = xml_parse_from_file($parser, $file); // 解析文件 if(!$ret) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); // 释放解析器 showcount(); ?> |
links (0,1) +----web (1,1) +----sub (1,2) | +----web (2,1) | +----sub (2,2) | | +----web (3,1) | | +----sub (3,2) : : : |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。