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

这篇文章主要介绍了php通过正则表达式记取数据来读取xml的方法,实例分析了php正则表达式的技巧及读取XML文件的方法,需要的朋友可以参考下

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

xml源文件如下:

  1. <?xml version="1.0 encoding="UTF-8"?>
  2. <humans>
  3. <zhangying>
  4. <name>张映</name>
  5. <sex>男</sex>
  6. <old>28</old>
  7. </zhangying>
  8. <tank>
  9. <name>tank</name>
  10. <sex>男</sex>
  11. <old>28</old>
  12. </tank>
  13. </humans>

php文件如下:

  1. <?php
  2. $xml = "";
  3. $f = fopen('person.xml', 'r');
  4. while($data = fread($f,4096)){
  5. $xml .= $data;
  6. }
  7. fclose( $f );
  8. // 上面读取数据
  9. preg_match_all("/\<humans\>(.*?)\<\/humans\>/s",$xml,$humans);
  10. //匹配最外层标签里面的内容
  11. foreach( $humans[1] as $k=>$human )
  12. {
  13. preg_match_all("/\<name\>(.*?)\<\/name\>/",$human,$name);
  14. //匹配出名字
  15. preg_match_all("/\<sex\>(.*?)\<\/sex\>/",$human,$sex);
  16. //匹配出性别
  17. preg_match_all("/\<old\>(.*?)\<\/old\>/",$human,$old);
  18. //匹配出年龄
  19. }
  20. foreach($name[1] as $key=>$val){
  21. echo $val." - ".$sex[$key][1]." - ".$old[$key][1]."<br>" ;
  22. }
  23. ?>

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