利用正则将xml数据解析为数组

function xml_to_array( $xml )

{

    $reg = '/<(\w+)[^>]*>([\x00-\xFF]*)<\/\1>/';

    if(preg_match_all($reg, $xml, $matches))

    {

        $count = count($matches[0]);

        for($i = 0; $i < $count; $i++)

        {

            $subxml= $matches[2][$i];

            $key = $matches[1][$i];

            if(preg_match( $reg, $subxml ))

            {

                $arr[$key] = xml_to_array( $subxml );

            }else{

                $arr[$key] = $subxml;

            }

        }

    }

    return $arr;

}

 

你可能感兴趣的:(xml)