php实现xml与json之间的相互转换功能实例

5年以前  |  阅读数:405 次  |  编程语言:PHP 

本文实例讲述了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,可以支持aaaa,不支持aaaaa看代码就能看明白.

PS:本站还提供了如下XML与JSON相关工具,方便大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

php代码在线格式化美化工具:

http://tools.jb51.net/code/phpformat

在线XML格式化/压缩工具:**
**http://tools.jb51.net/code/xmlformat

json代码在线格式化/美化/压缩/编辑/转换工具:**
**http://tools.jb51.net/code/jsoncodeformat

C语言风格/HTML/CSS/json代码格式化美化工具:**
**http://tools.jb51.net/code/ccode_html_css_json

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中json格式数据操作技巧汇总》、《PHP针对XML文件操作技巧总结》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例