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 相关文章推荐
改进的IP计数器
Oct 09 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
PHP 日志缩略名的创建函数代码
May 26 PHP
PHP序列号生成函数和字符串替换函数代码
Jun 07 PHP
php实现根据url自动生成缩略图的方法
Sep 23 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 PHP
Laravel配置全局公共函数的方法步骤
May 09 PHP
基于laravel-admin 后台 列表标签背景的使用方法
Oct 03 PHP
Laravel创建数据库表结构的例子
Oct 09 PHP
用php实现分页效果的示例代码
Dec 10 PHP
PHP7 弃用功能
Mar 09 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/02/04 PHP
php设计模式  Command(命令模式)
2011/06/17 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
关于更改Zend Studio/Eclipse代码风格主题的介绍
2013/06/23 PHP
php实现随机显示图片方法汇总
2015/05/21 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
JQuery live函数
2010/12/24 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
2016/08/26 Javascript
漂亮实用的页面loading(加载)封装代码
2017/02/03 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
最简单的JS实现json转csv的方法
2019/01/10 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
vue回到顶部监听滚动事件详解
2019/08/02 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
Django使用list对单个或者多个字段求values值实例
2020/03/31 Python
Django中使用Celery的方法步骤
2020/12/07 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
Boutique 1美国:阿联酋奢侈时尚零售商
2017/10/16 全球购物
Gretna Green中文官网:苏格兰格林小镇
2019/10/16 全球购物
医药专业应届毕业生求职信范文
2014/01/01 职场文书
车辆工程专业求职信
2014/04/28 职场文书
供电工程专业求职信
2014/08/09 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
民主生活会对照检查材料思想汇报
2014/09/27 职场文书
员工担保书范本
2015/09/22 职场文书
导游词之扬州大明寺
2019/10/09 职场文书