php实现xml与json之间的相互转换功能实例


Posted in PHP onJuly 07, 2016

本文实例讲述了php实现xml与json之间的相互转换功能。分享给大家供大家参考,具体如下:

用php实现xml与json之间的相互转换:

相关函数请查看php手册。

一、参考xml如下

<?xml version="1.0" encoding="UTF-8"?>
<humans>
<zhangying>
<name>张三</name>
<sex>男</sex>
<old>26</old>
</zhangying>
<tank>
<name>tank</name>
<sex>
<hao>yes</hao>
<aaaa>no</aaaa>
</sex>
<old>26</old>
</tank>
</humans>

二、xml转换成json

利用simplexml

public function xml_to_json($source) {
if(is_file($source)){ //传的是文件,还是xml的string的判断
$xml_array=simplexml_load_file($source);
}else{
$xml_array=simplexml_load_string($source);
}
$json = json_encode($xml_array); //php5,以及以上,如果是更早版本,请查看JSON.php
return $json;
}

三、json转换成xml

利用递归函数

public function json_to_xml($source,$charset='utf8') {
if(empty($source)){
return false;
}
//php5,以及以上,如果是更早版本,请查看JSON.php
$array = json_decode($source);
$xml ='';
$xml .= $this->change($array);
return $xml;
}
public function change($source) {
$string="";
foreach($source as $k=>$v){
$string .="<".$k.">";
//判断是否是数组,或者,对像
if(is_array($v) || is_object($v)){
//是数组或者对像就的递归调用
$string .= $this->change($v);
}else{
//取得标签数据
$string .=$v;
}
$string .="";
}
return $string;
}

上面的方法json_to_xml,可以支持<name>aaaa</name>,不支持<name type='test'>aaaaa</name>看代码就能看明白.

PS:本站还提供了如下XML与JSON相关工具,方便大家参考使用:

在线XML/JSON互相转换工具:
http://tools.3water.com/code/xmljson

php代码在线格式化美化工具:

在线XML格式化/压缩工具:
http://tools.3water.com/code/xmlformat

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.3water.com/code/jsoncodeformat

C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.3water.com/code/ccode_html_css_json

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php上传、管理照片示例
Oct 09 PHP
php循环输出数据库内容的代码
May 24 PHP
PHP MemCached 高级缓存应用代码
Aug 05 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
Jul 03 PHP
基于PHP选项与信息函数的使用详解
May 10 PHP
PHP封装的字符串加密解密函数
Dec 18 PHP
PHP页面间传递值和保持值的方法
Aug 24 PHP
php实现将HTML页面转换成word并且保存的方法
Oct 14 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
thinkPHP统计排行与分页显示功能示例
Dec 02 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
Jun 03 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 PHP
PHP登录验证码的实现与使用方法
Jul 07 #PHP
PHP常见的6个错误提示及解决方法
Jul 07 #PHP
php生成mysql的数据字典
Jul 07 #PHP
php自定义函数实现JS的escape的方法示例
Jul 07 #PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 #PHP
PHP使用自定义方法实现数组合并示例
Jul 07 #PHP
PHP记录和读取JSON格式日志文件
Jul 07 #PHP
You might like
thinkphp实现like模糊查询实例
2014/10/29 PHP
javascript同步Import,同步调用外部js的方法
2008/07/08 Javascript
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
有关JavaScript的10个怪癖和秘密分享
2011/08/28 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
js通过八个点 拖动改变div大小的实现方法
2014/03/05 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
探究Javascript模板引擎mustache.js使用方法
2016/01/26 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
js 求时间差的实现代码
2016/04/26 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
2016/06/08 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
Vue.js实现的购物车功能详解
2019/01/27 Javascript
js变量值传到php过程详解 将php解析成数据
2019/06/26 Javascript
一个手写的vue放大镜效果
2019/08/09 Javascript
node 解析图片二维码的内容代码实例
2019/09/11 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
Python图像灰度变换及图像数组操作
2016/01/27 Python
Python实现Smtplib发送带有各种附件的邮件实例
2017/06/05 Python
python中的计时器timeit的使用方法
2017/10/20 Python
django加载本地html的方法
2018/05/27 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
金融专业个人求职信范文
2013/11/28 职场文书
反邪教警示教育方案
2014/05/13 职场文书