php实现XML和数组的相互转化功能示例


Posted in PHP onFebruary 08, 2017

本文实例讲述了php实现XML和数组的相互转化功能。分享给大家供大家参考,具体如下:

数组转化为xml:

function arrtoxml($arr,$dom=0,$item=0){
  if (!$dom){
    $dom = new DOMDocument("1.0");
  }
  if(!$item){
    $item = $dom->createElement("root");
    $dom->appendChild($item);
  }
  foreach ($arr as $key=>$val){
    $itemx = $dom->createElement(is_string($key)?$key:"item");
    $item->appendChild($itemx);
    if (!is_array($val)){
      $text = $dom->createTextNode($val);
      $itemx->appendChild($text);
    }else {
      arrtoxml($val,$dom,$itemx);
    }
  }
  return $dom->saveXML();
}

xml转化为数组:

function xmltoarr($path){
  $xmlfile = file_get_contents($path);//提取xml文档中的内容以字符串格式赋给变量
  $ob= simplexml_load_string($xmlfile);//将字符串转化为变量
  $json = json_encode($ob);//将对象转化为JSON格式的字符串
  $configData = json_decode($json, true);//将JSON格式的字符串转化为数组
  print_r($configData);
}
PHP 相关文章推荐
php抓即时股票信息
Oct 09 PHP
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
Dec 05 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
Jan 11 PHP
解析Ubuntu下crontab命令的用法
Jun 24 PHP
PHP IE中下载附件问题解决方法
Jan 07 PHP
回帖脱衣服的图片实现代码
Feb 15 PHP
php实现上传图片文件代码
Jul 19 PHP
PHP进程通信基础之信号量与共享内存通信
Feb 19 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
laravel配置Redis多个库的实现方法
Apr 10 PHP
Yii框架自定义数据库操作组件示例
Nov 11 PHP
PHP+MySQL实现在线测试答题实例
Jan 02 PHP
PHP 获取指定地区的天气实例代码
Feb 08 #PHP
PHP使用DOM和simplexml读取xml文档的方法示例
Feb 08 #PHP
PHP判断数组是否为空的常用方法(五种方法)
Feb 08 #PHP
PHP基于DOM创建xml文档的方法示例
Feb 08 #PHP
PHP输出XML格式数据的方法总结
Feb 08 #PHP
PHP中大括号'{}'用法实例总结
Feb 08 #PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 #PHP
You might like
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
php下使用iconv需要注意的问题
2010/11/20 PHP
Zend Framework数据库操作方法实例总结
2016/12/11 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
Laravel 5.5 异常处理 & 错误日志的解决
2019/10/17 PHP
Jquery下的26个实用小技巧(jQuery tips, tricks & solutions)
2010/03/01 Javascript
js的一些常用方法小结
2011/06/29 Javascript
javascript权威指南 学习笔记之变量作用域分享
2011/09/28 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
jQuery中hide()方法用法实例
2014/12/24 Javascript
js实现向右横向滑出的二级菜单效果
2015/08/27 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
10分钟掌握XML、JSON及其解析
2020/12/06 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
2018/06/08 Javascript
灵活使用console让js调试更简单的方法步骤
2019/04/23 Javascript
vue 内联样式style中的background用法说明
2020/08/05 Javascript
vue-simple-uploader上传成功之后的response获取代码
2020/09/07 Javascript
python正则-re的用法详解
2019/07/28 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
python爬虫实现获取下一页代码
2020/03/13 Python
Python实现自动装机功能案例分析
2020/10/22 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
浪费资源的建议书
2014/03/12 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
Python字典的基础操作
2021/11/01 Python
javascript条件式访问属性和箭头函数介绍
2021/11/17 Javascript
2022微信温控新功能上线
2022/05/09 数码科技
MySQL事务的隔离级别详情
2022/07/15 MySQL
MySQL的表级锁,行级锁,排它锁和共享锁
2022/07/15 MySQL