网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 php实现xml与json之间的相互转换功能实例
内容
    本文实例讲述了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>看代码就能看明白.
    希望本文所述对大家PHP程序设计有所帮助。
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/19 10:03:39