php数组与xml互转类
admin
2023-06-13 13:42:56
0
  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"
    }

相关内容

热门资讯

“中国消费者不再仰望西方文化,... 江西南昌一家律师事务所的合伙人李毛崽在开了多年的奔驰和宝马后,买了一辆国产豪华电动车;老铺黄金在设计...
36分!北京家庭新能源车指标入... 5月26日,北京市机动车调控管理办公室发布消息,公布家庭新能源小客车指标的积分排序入围名单,以及个人...
中国将如何支持外企投资中国、深... 【大河财立方消息】5月26日,国新办举行新闻发布会,请商务部副部长鄢东、山东省副省长温暖,商务部国际...
资金筹措像“化缘” 谁该为公益... 救援人员转运跌落悬崖的“驴友”救援人员用装备固定伤员救援人员搜救受困人员救援人员进行高空索降4月26...
涉广东、广西两省区,中央生态环... 第三轮第六批中央生态环境保护督察5月26日集中通报广东和广西两省区典型案例。广东省惠州阳江等地海洋生...
马英九为何缺席记者会?金溥聪回... 据中评社5月25日报道,马英九基金会指控前执行长萧旭岑、王光慈涉违反财政纪律,调查小组24日表示,无...
坚决打好打赢“三夏”攻坚战丨粮... 5月24日,许昌市建安区陈曹乡的一片麦田里,一名农技人员正蹲在田垄间,用手指轻轻托起一穗即将成熟的麦...
抢学 ——张庄村与十八洞村结对... 三夏时节,中原大地麦浪泛黄。田野里,成袋的大蒜整齐码放,处处是抢收抢种的身影。一个“抢”字,是兰考农...
坚决打好打赢“三夏”攻坚战丨凝... 5月22日,温县黄庄镇林李庄村的连片麦田里,沉甸甸的麦穗在微风中起伏,散发出阵阵麦香。温县农业农村局...
豫疆万里情丨从“铝”途到“晶”... 【开栏的话】从黄河之畔到天山脚下,跨越三千里山河,有一种情谊叫“援疆”。第十一批对口援疆工作启动以来...