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 相关文章推荐
使用Limit参数优化MySQL查询的方法
Nov 12 PHP
PHP持久连接mysql_pconnect()函数使用介绍
Feb 05 PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
Jul 01 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
IIS6.0 开启Gzip方法及PHP Gzip函数分享
Jun 08 PHP
php+Mysqli利用事务处理转账问题实例
Feb 11 PHP
简介PHP的Yii框架中缓存的一些高级用法
Mar 29 PHP
Smarty高级应用之缓存操作技巧分析
May 14 PHP
购物车实现的几种方式优缺点对比
May 02 PHP
php 命名空间(namespace)原理与用法实例小结
Nov 13 PHP
PHP学习记录之常用的魔术常量详解
Dec 12 PHP
THINKPHP5.1 Config的配置与获取详解
Jun 08 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
PHP 各种排序算法实现代码
2009/08/20 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
php实现背景图上添加圆形logo图标的方法
2016/11/17 PHP
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
event.X和event.clientX的区别分析
2011/10/06 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
jquery实现的蓝色二级导航条效果代码
2015/08/24 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
2015/10/27 Javascript
JS截取与分割字符串常用技巧总结
2015/11/10 Javascript
require.js配合插件text.js实现最简单的单页应用程序
2016/07/12 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
jQuery Easyui快速入门教程
2016/08/21 Javascript
layui结合form,table的全选、反选v1.0示例讲解
2018/08/15 Javascript
Spring boot 和Vue开发中CORS跨域问题解决
2018/09/05 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
vue-cli3 从搭建到优化的详细步骤
2019/01/20 Javascript
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
Python序列化与反序列化pickle用法实例
2019/11/11 Python
python实现超级马里奥
2020/03/18 Python
Anaconda使用IDLE的实现示例
2020/09/23 Python
Kathmandu英国网站:新西兰户外运动品牌
2017/03/27 全球购物
我们是伦敦女孩:WalG
2018/01/08 全球购物
德国旅游网站:weg.de
2018/06/03 全球购物
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
社团文化节策划书
2014/02/01 职场文书
建筑工地大门标语
2014/06/18 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
个人收入证明格式
2015/06/24 职场文书
毕业班工作总结
2015/08/10 职场文书