數組轉xml

//數組轉xml
function arr2xml($arr,$node=null){
    if($node == null){
        $sim = new SimpleXmlElement('<?xml version="1.0" encoding="utf8"?><root></root>');
    }else{
        $sim = $node;
    }
    foreach($arr as $k=>$v){
        if(!is_numeric($k) && is_array($v)){
            // echo '1';
            arr2xml($v,$sim->addChild($k));
        }elseif(is_numeric($k) && !is_array($v)){
            // echo '2';
            $sim->addChild('item',$v);
        }elseif(is_numeric($k) && is_array($v)){
            // echo '3';
            arr2xml($v,$sim->addChild('item'));
        }elseif(!is_numeric($k) && !is_array($v)){
            // echo '4';
            $sim->addChild($k,$v);
        }
    }
    return $sim->savexml();
}

//測試方法
$data = array(
    'name'=>'xiaobai',
    'age'=>25,
    '我是索引元素',
    array('ceshi'=>'ssss'),
    'company'=>array('cfo'=>'xiaoming','ceo'=>'xiaohong','it'=>array('laoli','laowang'))
    );
header('content-type:text/xml');
echo arr2xml($data);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章