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中看实例学正则表达式
Dec 25 PHP
Excel数据导入Mysql数据库的实现代码
Jun 05 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
Nov 30 PHP
php下删除一篇文章生成的多个静态页面
Aug 08 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
Jan 03 PHP
解析PHP无限级分类方法及代码
Jun 21 PHP
完美解决thinkphp验证码出错无法显示的方法
Dec 09 PHP
通过php删除xml文档内容的方法
Jan 23 PHP
php实现的简易扫雷游戏实例
Jul 09 PHP
php获取网站百度快照日期的方法
Jul 29 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
Jan 09 PHP
PHP实现的简单适配器模式示例
Jun 22 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/05/11 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
2009/05/25 Javascript
jQuery解决iframe高度自适应代码
2009/12/20 Javascript
JavaScript高级程序设计 客户端存储学习笔记
2011/09/10 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
jquery获取当前日期的方法
2015/01/14 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
js正则表达式验证密码强度【推荐】
2017/03/03 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
BootStrap实现文件上传并带有进度条效果
2017/09/11 Javascript
利用node.js如何创建子进程详解
2017/12/09 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
2017/12/18 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
Vue自定义指令写法与个人理解
2019/02/09 Javascript
JS操作字符串转数字的常见方法示例
2019/10/29 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
使用python遍历指定城市的一周气温
2017/03/31 Python
解决python大批量读写.doc文件的问题
2018/05/08 Python
Django rstful登陆认证并检查session是否过期代码实例
2019/08/13 Python
Python 3.6 中使用pdfminer解析pdf文件的实现
2019/09/25 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
html5利用canvas实现颜色容差抠图功能
2019/12/23 HTML / CSS
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
本科毕业生专业自荐书范文
2014/02/05 职场文书
2014年最新学习全国两会精神心得
2014/03/17 职场文书
门面房租房协议书
2014/08/20 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
转正申请报告格式
2015/05/15 职场文书
TV动画《间谍过家家》公开PV
2022/03/20 日漫