php通过正则表达式记取数据来读取xml的方法

5年以前  |  阅读数:691 次  |  编程语言:PHP 

本文实例讲述了php通过正则表达式记取数据来读取xml的方法。分享给大家供大家参考。具体分析如下:

xml源文件如下:


    <?xml version="1.0 encoding="UTF-8"?>
    <humans>
    <zhangying>
    <name>张映</name>
    <sex>男</sex>
    <old>28</old>
    </zhangying>
    <tank>
    <name>tank</name>
    <sex>男</sex>
    <old>28</old>
    </tank>
    </humans>

php文件如下:


    <?php
     $xml = "";
     $f = fopen('person.xml', 'r');
     while($data = fread($f,4096)){
      $xml .= $data;
     }
     fclose( $f );
    // 上面读取数据
     preg_match_all("/\<humans\>(.*?)\<\/humans\>/s",$xml,$humans); 
    //匹配最外层标签里面的内容
     foreach( $humans[1] as $k=>$human )
     {
      preg_match_all("/\<name\>(.*?)\<\/name\>/",$human,$name);
    //匹配出名字
      preg_match_all("/\<sex\>(.*?)\<\/sex\>/",$human,$sex);
    //匹配出性别
      preg_match_all("/\<old\>(.*?)\<\/old\>/",$human,$old);
    //匹配出年龄
     }
    foreach($name[1] as $key=>$val){
     echo $val." - ".$sex[$key][1]." - ".$old[$key][1]."<br>" ;
    }
    ?>

希望本文所述对大家的php程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8