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 22 PHP
解析左右值无限分类的实现算法
Jun 20 PHP
浅析PHP页面局部刷新功能的实现小结
Jun 21 PHP
ucenter通信原理分析
Jan 09 PHP
PHP+redis实现添加处理投票的方法
Nov 14 PHP
PHP模板引擎Smarty内置变量调解器用法详解
Apr 11 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
PHP脚本自动识别验证码查询汽车违章
Dec 20 PHP
Laravel用户授权系统的使用方法示例
Sep 16 PHP
php+mysql开发中的经验与常识小结
Mar 25 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 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
探讨方法的重写(覆载)详解
2013/06/08 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
php利用array_search与array_column实现二维数组查找
2019/07/08 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
JavaScript中的console.trace()函数介绍
2014/12/29 Javascript
jQuery带进度条全屏图片轮播特效代码分享
2020/06/28 Javascript
微信小程序开发(一) 微信登录流程详解
2017/01/11 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
2017/04/27 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
2017/10/14 jQuery
vue实现div拖拽互换位置
2020/07/29 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
ES6之Proxy的get方法详解
2019/10/11 Javascript
[56:46]Liquid vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
基于python时间处理方法(详解)
2017/08/14 Python
python生成随机图形验证码详解
2017/11/08 Python
python并发编程之线程实例解析
2017/12/27 Python
python将txt文件读入为np.array的方法
2018/10/30 Python
matplotlib.pyplot绘图显示控制方法
2019/01/15 Python
在PyCharm导航区中打开多个Project的关闭方法
2019/01/17 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
python使用 __init__初始化操作简单示例
2019/09/26 Python
Python3 翻转二叉树的实现
2019/09/30 Python
Pytest单元测试框架如何实现参数化
2020/09/05 Python
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
电子邮箱格式怎么写
2014/01/12 职场文书
彩色的非洲教学反思
2014/02/18 职场文书
创新型城市实施方案
2014/03/06 职场文书
元宵节主持词
2014/03/25 职场文书
中班开学寄语
2014/04/04 职场文书
工作保证书范文
2014/04/29 职场文书
八一建军节演讲稿
2014/09/10 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技