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 相关文章推荐
JAVA/JSP学习系列之二
Oct 09 PHP
新版PHP极大的增强功能和性能
Oct 09 PHP
开源SNS系统-ThinkSNS
May 18 PHP
使用PHP socke 向指定页面提交数据
Jul 23 PHP
php实现mysql封装类示例
May 07 PHP
php批量删除数据库下指定前缀的表以prefix_为例
Aug 24 PHP
PHP生成RSS文件类实例
Dec 05 PHP
PHP JSON格式的中文显示问题解决方法
Apr 09 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
Oct 29 PHP
php  单例模式详细介绍及实现源码
Nov 05 PHP
PHP简单实现欧拉函数Euler功能示例
Nov 06 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 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
推荐十款免费 WordPress 插件
2015/03/24 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
2016/08/01 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
Javascript的setTimeout()使用闭包特性时需要注意的问题
2014/09/23 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
js学习总结之dom2级事件基础知识详解
2017/07/27 Javascript
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
TypeScript魔法堂之枚举的超实用手册
2020/10/29 Javascript
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
python基础教程之python消息摘要算法使用示例
2014/02/10 Python
Python使用新浪微博API发送微博的例子
2014/04/10 Python
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
Swift中的协议(protocol)学习教程
2016/07/08 Python
python爬虫自动创建文件夹的功能
2018/08/01 Python
python pyheatmap包绘制热力图
2018/11/09 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
2019/08/22 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
Shell如何接收变量输入
2012/09/24 面试题
党员公开承诺书
2014/03/25 职场文书
初一学生期末评语
2014/04/24 职场文书
党员承诺书怎么写
2014/05/20 职场文书
房屋认购协议书
2015/01/29 职场文书
学生通报表扬范文
2015/05/04 职场文书
初一军训感言
2015/08/01 职场文书
六年级作文之预言作文
2019/10/25 职场文书