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获得文件扩展名三法
Nov 25 PHP
php5.5中类级别的常量使用介绍
Oct 02 PHP
浅谈discuz密码加密的方式
May 22 PHP
php计算两个日期相差天数的方法
Mar 14 PHP
PHP实现中文圆形印章特效
Jun 19 PHP
PHP生成静态HTML文档实现代码
Jun 23 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
yii框架无限极分类的实现方法
Apr 08 PHP
AJAX的使用方法详解
Apr 29 PHP
老生常谈PHP数组函数array_merge(必看篇)
May 25 PHP
laravel如何开启跨域功能示例详解
Aug 31 PHP
Laravel定时任务的每秒执行代码
Oct 22 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
PHP4(windows版本)中的COM函数
2006/10/09 PHP
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
坏狼的PHP学习教程之第2天
2008/06/15 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
PHP 类与构造函数解析
2017/02/06 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
如何取得中文输入的真实长度?
2006/06/24 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
nodejs批量修改文件编码格式
2015/01/22 NodeJs
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
Ajax请求时无法重定向的问题解决代码详解
2019/06/21 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
python3中函数参数的四种简单用法
2018/07/09 Python
Python三元运算与lambda表达式实例解析
2019/11/30 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
keras的三种模型实现与区别说明
2020/07/03 Python
稀有和绝版书籍:Biblio.com
2017/02/02 全球购物
Lands’ End英国官方网站:高质量男女服装
2017/10/07 全球购物
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
雏鹰争章活动总结
2014/05/09 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
大学生求职信怎么写
2015/03/19 职场文书
趣味运动会加油词
2015/07/18 职场文书
Windows Server 2022 超融合部署(图文教程)
2022/06/25 Servers