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 相关文章推荐
11个PHP 分页脚本推荐
Aug 15 PHP
PHP设计模式之命令模式的深入解析
Jun 13 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
Jun 17 PHP
php配合jquery实现增删操作具体实例
Dec 12 PHP
PHP 正则表达式常用函数
Aug 17 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
Apr 25 PHP
php简单实现数组分页的方法
Apr 30 PHP
PHP简单实现防止SQL注入的方法
Mar 13 PHP
php中上传文件的的解决方案
Sep 25 PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 PHP
PHP8.0新功能之Match表达式的使用
Jul 19 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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
PHP cdata 处理(详细介绍)
2013/07/05 PHP
js简易namespace管理器 实例代码
2013/06/21 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
2016/11/25 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
收藏AngularJS中最重要的核心功能
2017/07/09 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
2017/09/28 Javascript
React中的refs的使用教程
2018/02/13 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
vue缓存的keepalive页面刷新数据的方法
2019/04/23 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
微信小程序实现弹框效果
2020/05/26 Javascript
Python break语句详解
2014/03/11 Python
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
Python 数据结构之队列的实现
2017/01/22 Python
django中的setting最佳配置小结
2017/11/21 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
德国团购网站:Groupon德国
2018/03/13 全球购物
美国手机支架公司:PopSockets
2019/11/27 全球购物
学前班评语大全
2014/05/04 职场文书
传播学专业毕业生自荐书
2014/07/01 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
教师调动申请报告
2015/05/18 职场文书
张丽莉事迹观后感
2015/06/16 职场文书
一篇文章弄懂Python关键字、标识符和变量
2021/07/15 Python