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

5年以前  |  阅读数:396 次  |  编程语言:PHP 

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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例