PHP XML和数组互相转换

        //数组转XML
    function arrayToXml($arr)
    {
        $xml = "<xml>";
        foreach ($arr as $key=>$val)
        {
            if (is_numeric($val)){
                $xml.="<".$key.">".$val."</".$key.">";
            }else{
                 $xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
            }
        }
        $xml.="</xml>";
        return $xml;
    }

    //将XML转为array
//先把xml转换为simplexml对象,再把
simplexml对象转换成 json,再将 json 转换成数组。 function xmlToArray($xml) { //禁止引用外部xml实体 libxml_disable_entity_loader(true); $values = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); return $values; }

 

先把 simplexml 对象转换成 json,再将 json 转换成数组。

posted @ 2016-11-25 11:54  王宇walkOn  阅读(332)  评论(0编辑  收藏  举报