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


Posted in PHP onMarch 09, 2015

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
Adodb的十个实例(清晰版)
Dec 31 PHP
joomla内置的表单验证功能使用方法
Jun 11 PHP
PHP中date()日期函数有关参数整理
Jul 19 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
Sep 27 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
Apr 17 PHP
[原创]PHP字符串中插入子字符串方法总结
May 06 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
Oct 08 PHP
PHP使用数组实现矩阵数学运算的方法示例
May 29 PHP
Laravel下生成验证码的类
Nov 15 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
Sep 08 PHP
PHP7 其他语言层面的修改
Mar 09 PHP
PHP实现算式验证码和汉字验证码实例
Mar 09 #PHP
PHP实现指定字段的多维数组排序函数分享
Mar 09 #PHP
PHP多线程之内部多线程实例分析
Mar 09 #PHP
php中删除数组的第一个元素和最后一个元素的函数
Mar 07 #PHP
php建立Ftp连接的方法
Mar 07 #PHP
Thinkphp调用Image类生成缩略图的方法
Mar 07 #PHP
PHP实现懒加载的方法
Mar 07 #PHP
You might like
两种php调用Java对象的方法
2006/10/09 PHP
php array_intersect()函数使用代码
2009/01/14 PHP
php格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
php身份证号码检查类实例
2015/06/18 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
2016/04/02 PHP
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
JavaScript学习点滴 call、apply的区别
2010/10/22 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
详解tween.js的使用教程
2017/09/14 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
微信小程序用户登录和登录态维护的实现
2020/12/10 Javascript
python中关于日期时间处理的问答集锦
2013/03/08 Python
python中的代码编码格式转换问题
2015/06/10 Python
如何使用python进行pdf文件分割
2019/11/11 Python
Python创建一个元素都为0的列表实例
2019/11/28 Python
python实现图片横向和纵向拼接
2020/03/05 Python
django 实现简单的插入视频
2020/04/07 Python
Python新手学习raise用法
2020/06/03 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
Python字符串及文本模式方法详解
2020/09/10 Python
adidas爱尔兰官方网站:阿迪达斯运动鞋和运动服
2019/11/01 全球购物
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
高级护理专业大学生求职信
2013/10/24 职场文书
教师找工作推荐信
2013/11/23 职场文书
先进事迹报告会感言
2014/01/24 职场文书
英语老师推荐信
2014/02/26 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
总经理检讨书范文
2015/02/16 职场文书
公司辞职信模板
2015/05/13 职场文书
Nginx服务器如何设置url链接
2021/03/31 Servers
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android