首页 > Web开发 > 详细

php xml 转array 函数 (原创)

时间:2015-06-12 11:19:27      阅读:207      评论:0      收藏:0      [点我收藏+]

 

 

    /**                                                                                                                                                           
     *Author zhudongchang                                                                                                                                         
     *Date 2015/6/12                                                                                                                                              
     *xml 转array 函数                                                                                                                                 
     *@param string $xmlStr xml字符串                                                                                                                   
     *@return string 
     */
   function convertXmlToArray($xmlStr){
        $patten=<<<EOT
/(^\s*<(\s*[a-zA-Z0-9_=‘":]+\s*)+>.*<\s*\/(\s*[a-zA-Z0-9_=‘":]+\s*)+>\s*$)|(^\s*<(\s*[a-zA-Z0-9_=‘":]+\s*)+\/\s*>$)/s
EOT;
        $pattenChildXml=<<<EOT
/^\s*<(\s*[a-zA-Z0-9_=‘":]+\s*)+>(.*)<\s*\/(\s*[a-zA-Z0-9_=‘":]+\s*)+>\s*$/s
EOT;
        $res=array();
        $xml = simplexml_load_string($xmlStr);
        foreach($xml->children() as $val){
            $key=$val->getName();            
            $valXml=$val->asXML();        
            preg_match($pattenChildXml,$valXml,$match);
            $childXmlStr=$match[2];        
            $temp=preg_match($patten,$childXmlStr)?convertXmlToArray($valXml):(string)$val;
            if(array_key_exists($key,$res)){
                is_array($res[$key]) or $res[$key]=array($res[$key]);
                $res[$key]=array_merge($res[$key],$temp);
            }else{
                $res[$key]=$temp;
            }
        }
        return $res;
    }

 

php xml 转array 函数 (原创)

原文:http://www.cnblogs.com/zhudongchang/p/4571054.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!