资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php数组与xml互转类

  1. 代码:
    /**
    * @desc:xml与array互转
    * @author [Lee] <[]>
    * @property
    *      data 传入的数据
    * @method
    *      arraytoxml  数组转xml  参数:data 返回:xml
    *      arraytoxml  xml转数组  参数:xml  返回:data
    */
    class xmlarray{
    private $data;  #  传入数据
    /*
     @desc:内部方法 递归转换数组成xml格式
     @param data 传入的数组
     @return str 返回的xml身体部分
     */
    private function change($data) {
        $str="";
        foreach($data as $k=>$v){
            $str .="<".$k.">"; 
            if(is_array($v) || is_object($v)){
                $str .= $this->change($v);
            }else{ 
                $str .=$v;
            } 
            $str .="";
        }
        return $str;
    }
    /*
     @desc:构造方法,实例化数据
     @param data 传入的数据
     */
    public function __construct($data){
        $this->data = $data;
    }
    /*
     @desc:数组转xml
     @return xml
     */
    public function arraytoxml() {  
        $xml  ='';
        $xml .= $this->change($this->data);
        return $xml;
    }
    /*
     @desc:xml转数组
     @return arr
     */
    public function xmltoarray(){
        $obj = simplexml_load_string($this->data, 'SimpleXMLElement', LIBXML_NOCDATA);
        $json = json_encode($obj);
        $arr = json_decode($json, true);      
        return $arr;
    }
    }
  2. 测试:
    $str = 'leemale';
    $xmlarray = new xmlarray($str);
    $ret = $xmlarray->xmltoarray();
    var_dump($ret);
  3. 输出:
    array(2) {
    ["name"]=>
    string(3) "lee"
    ["sex"]=>
    string(4) "male"
    }

网页标题:php数组与xml互转类
路径分享:http://www.cdkjz.cn/article/gespeo.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220