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
mysql建立外键
Nov 25 PHP
php格式化工具Beautify PHP小小BUG
Apr 24 PHP
PHP 获取MySQL数据库里所有表的实现代码
Jul 13 PHP
基于php-fpm的配置详解
Jun 03 PHP
fetchAll()与mysql_fetch_array()的区别详解
Jun 05 PHP
php语言中使用json的技巧及json的实现代码详解
Oct 27 PHP
PHP Imagick完美实现图片裁切、生成缩略图、添加水印
Feb 22 PHP
PHP实现简易blog的制作
Oct 24 PHP
什么是PHP文件?如何打开PHP文件?
Jun 27 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 PHP
基于php解决json_encode中文UNICODE转码问题
Nov 10 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 中使用随机数的三个步骤
2006/10/09 PHP
php+mysql分页代码详解
2008/03/27 PHP
使用php清除bom示例
2014/03/03 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
JS中的substring和substr函数的区别说明
2013/05/07 Javascript
jQuery实用函数用法总结
2014/08/29 Javascript
3种Jquery限制文本框只能输入数字字母的方法
2014/12/03 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
bootstrap table小案例
2016/10/21 Javascript
jQuery实现弹出窗口弹出div层的实例代码
2017/01/09 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
[45:14]Optic vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
python解析文件示例
2014/01/23 Python
python中sets模块的用法实例
2014/09/30 Python
python机器学习实战之树回归详解
2017/12/20 Python
python中嵌套函数的实操步骤
2019/02/27 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
具有防紫外线功能的高性能钓鱼服装:Hook&Tackle
2018/08/16 全球购物
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
Kendra Scott官网:美国领先的时尚配饰品牌
2020/10/22 全球购物
PHP如何去执行一个SQL语句
2016/03/05 面试题
解除合同协议书
2014/04/17 职场文书
国庆节演讲稿
2014/05/27 职场文书
党章培训心得体会
2014/09/04 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
《攀登者》:“海拔8000米以上,你不能指望任何人”
2019/11/25 职场文书