如果在你的程序中收到这样的字符串:
代码如下 | 复制代码 |
那么,恭喜你,php中我们常用的几种方法
都不会生效,如:
代码如下 | 复制代码 |
$array = (array)new SimpleXMLElement($xml_str); |
所以我们只能自己写个方法喽
代码如下:
代码如下 | 复制代码 |
function parse_xml_to_array($xmlstr,$loopTag){ $args = explode(''.$loopTag.'>',$xmlstr); $returns = array(); if($args){ $reg = '/<(\w+)[^>]*>([\x00-\xFF]*)<\/\1>/'; foreach($args as $item){ $item = str_replace('<'.$loopTag.'>','',$item); if(preg_match_all($reg, $item, $matches)) { if(isset($matches[1]) && isset($matches[2])){ $returns[] = array_combine($matches[1],$matches[2]); } } } } unset($args); return $returns; } $arr = parse_xml_to_array($xml,'ReportList'); var_dump($arr); |
继续浏览有关 的文章