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 相关文章推荐
第四节--构造函数和析构函数
Nov 16 PHP
php 常用字符串函数总结
Mar 15 PHP
php加密解密函数authcode的用法详细解析
Oct 28 PHP
php实现批量下载百度云盘文件例子分享
Apr 10 PHP
ThinkPHP让分页保持搜索状态的方法
Jul 02 PHP
PHP实现的sqlite数据库连接类
Dec 12 PHP
php实现俄罗斯乘法实例
Mar 07 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
May 12 PHP
PHP register_shutdown_function()函数的使用示例
Jun 23 PHP
PHP汉字转换拼音的函数代码
Dec 30 PHP
PHP编程之设置apache虚拟目录
Jul 08 PHP
thinkPHP引入类的方法详解
Dec 08 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
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
php字符串过滤与替换小结
2015/01/26 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
深入理解PHP中的count函数
2016/05/31 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
2019/09/10 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
jQuery 使用手册(六)
2009/09/23 Javascript
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
getAsDataURL在Firefox7.0下无法预览本地图片的解决方法
2013/11/15 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
Vue Socket.io源码解读
2018/02/07 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
2018/09/14 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
微信小程序实现炫酷的弹出式菜单特效
2019/01/28 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
2019/05/10 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
Vue页面跳转传递参数及接收方式
2020/09/09 Javascript
[14:20]刀塔大凶女神互压各路奇葩屌丝
2014/05/16 DOTA
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
详解常用查找数据结构及算法(Python实现)
2016/12/09 Python
利用python实现命令行有道词典的方法示例
2017/01/31 Python
python实现傅里叶级数展开的实现
2018/07/21 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
Python猜数字算法题详解
2020/03/01 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
html5中valid、invalid、required的定义
2014/02/21 HTML / CSS
中学实习教师自我鉴定
2013/12/12 职场文书
MySQL数据库简介与基本操作
2022/05/30 MySQL