本站为一个技术型PHP个人门户站,提供一些代码,技术文章、免费空间消息信息、让学习编程更轻松和不要钱买空间更方便-PHP小戴
你当前的位置:首页>>网友投稿
小戴个人门户站导航 PHP小戴个人门户站 关于站长web个人门户站 设计服务-网络公司,建设网站,企业logo设计,包装设计,网站设计,整站程序开发 联系站长-小戴个人门户站
  • 技术文章排行榜
文章数据加载中...
  • 免费空间排行榜
空间数据加载中...

parser函数读取xml数据例子

  • 下面就给大家举一个小小的例子用parser函数来读取xml数据

    OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

    <?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($parser, $data, feof($filehandler));
    }//每次取出4096个字节进行处理

    fclose($filehandler);
    xml_parser_free($parser);//关闭和释放parser解析器


    $name=false;
    $position=false;
    function startElement($parser_instance, $element_name, $attrs)        //起始标签事件的函数
     {
       global $name,$position; 
       if($element_name=="NAME")
       {
       $name=true;
       $position=false;
       echo "名字:";
      }
      if($element_name=="POSITION")
       {$name=false;
       $position=true;
       echo "职位:";
      }
    }

    function characterData($parser_instance, $xml_data)                  //读取数据时的函数
    {
       global $name,$position;
       if($position)
        echo $xml_data."<br>";
        if($name)
         echo $xml_data."<br>";
    }

    function endElement($parser_instance, $element_name)                 //结束标签事件的函数
    {
     global $name,$position;
    $name=false;
    $position=false; 
    }

    ?>

     

    xml文件代码如下:

     

    <?xml version="1.0"?>
    <employees>
    <employee>
    <name>张三</name>
    <position age="45">经理</position>
    </employee>
    <employees>
    <employee>
    <name>李四</name>
    <position age="45">助理</position>
    </employee>
    </employees>


    这个程序的结果如下:

    引用:
    OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

    名字:张三 职位:经理
    名字:李四 职位:助理

    OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

     

    很简单吧


  • [时间:2008-12-23 20:29:50][点击:]

  • 上下篇文章加载中...
返回首页 | 关于站长 | 联系站长| 设计服务 | 建站资源 | 技术文章 | 娱乐中心 | 免费空间 | 友情链接 | 留言蜚语 | 网站地图| 网友投稿|RSS订阅 
QQ:277728291 联系方式:15824537062 mail:27772821@163.com
版权所有 2008-2018 PHP小戴个人门户站-编程技术和空间和文章共享-www.phpxd.com Copyright 2008 phpxd.com