以下示例使用php中的正则表达式,进行xml文件的读取。
1、xml文件内容,person.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> 
2、php处理文件,rexml.php
 
复制代码 代码示例:
<?php  
    /*** 
    @ 使用正则表达式读取xml文件 
    @ Recoded By Androidyue 
    @ site www.jb200.com
    ***/  
      $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>" ;  
        }  
    ?>  
 
注意:
两个文件的编码格式,请保持一致,最好都设成UTF8的字符集,以免出现莫名的错误。