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语法速查表
Dec 06 PHP
phpMyAdmin链接MySql错误 个人解决方案
Dec 28 PHP
url decode problem 解决方法
Dec 26 PHP
PHP连接SQLSERVER 注意事项(附dll文件下载)
Jun 28 PHP
php 注册时输入信息验证器的实现详解
Jul 05 PHP
php实现无限级分类
Dec 24 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
Apr 11 PHP
php fread读取文件注意事项
Sep 24 PHP
PHP foreach遍历多维数组实现方式
Nov 16 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
Nov 14 PHP
PHP使用ActiveMQ实例
Feb 05 PHP
Laravel 框架路由原理与路由访问实例分析
Apr 14 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
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
《PHP编程最快明白》第七讲:php图片验证码与缩略图
2010/11/01 PHP
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
php中smarty区域循环的方法
2015/06/11 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
JS获取html对象的几种方式介绍
2013/12/05 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
JS得到当前时间的方法示例
2017/03/24 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
Promise扫盲贴
2019/06/24 Javascript
Layui表格行工具事件与数据回填方法
2019/09/13 Javascript
Nuxt页面级缓存的实现
2020/03/09 Javascript
JavaScript实现猜数字游戏
2020/05/20 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
js实现碰撞检测
2021/01/29 Javascript
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
在Python中使用HTMLParser解析HTML的教程
2015/04/29 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
SVM基本概念及Python实现代码
2017/12/27 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
2020/02/26 Python
Python基于requests实现模拟上传文件
2020/04/21 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
2020/12/23 Python
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
安全检查管理制度
2014/02/02 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
2014年档案管理工作总结
2014/11/17 职场文书
后进生评语大全
2015/01/04 职场文书
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers