php操作XML、读取数据和写入数据的实现代码


Posted in PHP onAugust 15, 2014

xml文件

<?xml version="1.0" encoding="utf-8"?>
 
<vip>
 <id>23</id>
 <username>开心的路飞</username>
 <sex>男</sex>
 <face>face/43.jpg</face>
 <email>123@qq.com</email>
 <qq>1212121212</qq> 
</vip>

php解析XML获取标签中的值

/*
 * _get_xml 获取的XML文件
* @access public 表示函数对外公开
* @param $_xmlfile xml文件
* $_html 从XML中取出的数据数组
* */
function _get_xml($_xmlfile){
  $_html = array();
  if(file_exists($_xmlfile)){
    $_xml = file_get_contents($_xmlfile);
    preg_match_all('/<vip>(.*)<\/vip>/', $_xml,$_dom);    
    foreach($_dom[1] as $_value){
      preg_match_all('/<id>(.*)<\/id>/', $_value,$_id);
      preg_match_all('/<username>(.*)<\/username>/', $_value,$_username);
      preg_match_all('/<sex>(.*)<\/sex>/', $_value,$_sex);
      preg_match_all('/<face>(.*)<\/face>/', $_value,$_face);
      preg_match_all('/<email>(.*)<\/email>/', $_value,$_email);
      preg_match_all('/<qq>(.*)<\/qq>/', $_value,$_qq);
      $_html['id'] = $_id[1][0];
      $_html['username'] = $_username[1][0];
      $_html['sex'] = $_sex[1][0];
      $_html['face'] = $_face[1][0];
      $_html['email'] = $_email[1][0];
      $_html['qq'] = $_qq[1][0];
    }
  }else{
    _alert_back("文件不存在");
  }
  return $_html;
}

php向XML文件中写入数据

/*
 * _set_xml将信息写入XML文件
* @access public 表示函数对外公开
* @param $_xmlfile xml文件
* @param $_clean 要写入的信息的数组
* */
function _set_xml($_xmlfile,$_clean){
  $_fp = @fopen('newuser.xml','w');
  if(!$_fp){
    exit('系统错误,文件不存在!');
  }
  flock($_fp,LOCK_EX);
  $_string = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\t";
  fwrite($_fp, $_string,strlen($_string));
  $_string = "<vip>\r\t";
  fwrite($_fp, $_string,strlen($_string));
  $_string = "\t<id>{$_clean['id']}</id>\r\t";
  fwrite($_fp, $_string,strlen($_string));
  $_string = "\t<username>{$_clean['username']}</username>\r\t";
  fwrite($_fp, $_string,strlen($_string));
  $_string = "\t<sex>{$_clean['sex']}</sex>\r\t";
  fwrite($_fp, $_string,strlen($_string));
  $_string = "\t<face>{$_clean['face']}</face>\r\t";
  fwrite($_fp, $_string,strlen($_string));
  $_string = "\t<email>{$_clean['email']}</email>\r\t";
  fwrite($_fp, $_string,strlen($_string));
  $_string = "\t<qq>{$_clean['url']}</qq>\r\t";
  fwrite($_fp, $_string,strlen($_string));
  $_string = "</vip>";
  fwrite($_fp, $_string,strlen($_string));
  flock($_fp,LOCK_UN);
  fclose($_fp);
}
PHP 相关文章推荐
PHP中array_merge和array相加的区别分析
Jun 17 PHP
解析php mysql 事务处理回滚操作(附实例)
Aug 05 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
Aug 19 PHP
php中get_meta_tags()、CURL与user-agent用法分析
Dec 16 PHP
PHP采集静态页面并把页面css,img,js保存的方法
Dec 23 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
PHP实现的浏览器检查类
Apr 11 PHP
php实现带读写分离功能的MySQL类完整实例
Jul 28 PHP
PHP上传图片、删除图片简单实例
Nov 12 PHP
PHP中overload与override的区别
Feb 13 PHP
PHP经典实用正则表达式小结
May 04 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
May 28 PHP
php中操作memcached缓存进行增删改查数据的实现代码
Aug 15 #PHP
php上传图片之时间戳命名(保存路径)
Aug 15 #PHP
php中将一段数据存到一个txt文件中并显示其内容
Aug 15 #PHP
PHP反向代理类代码
Aug 15 #PHP
ThinkPHP中自定义目录结构的设置方法
Aug 15 #PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Aug 15 #PHP
php获取apk包信息的方法
Aug 15 #PHP
You might like
简单的移动设备检测PHP脚本代码
2011/02/19 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
2014/12/22 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
javascript 函数式编程
2007/08/16 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
js 获取服务器控件值的代码
2010/03/05 Javascript
Jquery插件之多图片异步上传
2010/10/20 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
AngularJS基础 ng-copy 指令实例代码
2016/08/01 Javascript
jquery实现拖动效果
2016/08/10 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
JQuery选中select组件被选中的值方法
2018/03/08 jQuery
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
Vue3 源码导读(推荐)
2019/10/14 Javascript
nodejs dgram模块广播+组播的实现示例
2019/11/04 NodeJs
javascript实现倒计时效果
2020/02/17 Javascript
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
python函数返回多个值的示例方法
2013/12/04 Python
Python实现的简单算术游戏实例
2015/05/26 Python
python高效过滤出文件夹下指定文件名结尾的文件实例
2018/10/21 Python
在Python中通过getattr获取对象引用的方法
2019/01/21 Python
Python基础之文件读取的讲解
2019/02/16 Python
python顺序执行多个py文件的方法
2019/06/29 Python
Django ValuesQuerySet转json方式
2020/03/16 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
Snapfish英国:在线照片打印和个性化照片礼品
2017/01/13 全球购物
不拖欠农民工工资承诺书
2014/03/31 职场文书
标准毕业生自荐信
2014/06/24 职场文书
港澳通行证委托书怎么写
2014/08/02 职场文书
文明单位申报材料
2014/12/23 职场文书
事业单位个人总结
2015/02/12 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
Mysql关于数据库是否应该使用外键约束详解说明
2021/10/24 MySQL
nginx常用配置conf的示例代码详解
2022/03/21 Servers