Maison > Article > développement back-end > PHP解析XML转成数组
PHP解析XML转成数组 在线等
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?xml version="1.0" encoding="UTF-8"?> <root> <a> <b name="name" value="value"></b> <b name="name" value="value"></b> <b name="name" value="value"></b> </a> <a> <b name="name" value="value"></b> <b name="name" value="value"></b> </a> <a> <b name="name" value="value"></b> <b name="name" value="value"></b> <b name="name" value="value"></b> <b name="name" value="value"></b> </a> </root>
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> Array( [0]=>Array( [0]=>Array(name=>'name',value=>'value'), [1]=>Array(name=>'name',value=>'value'), [2]=>Array(name=>'name',value=>'value') ), [1]=>Array( [0]=>Array(name=>'name',value=>'value'), [1]=>Array(name=>'name',value=>'value'), [2]=>Array(name=>'name',value=>'value') ), [2]=>Array( [0]=>Array(name=>'name',value=>'value'), [1]=>Array(name=>'name',value=>'value'), [2]=>Array(name=>'name',value=>'value') ), )
<?php $xml=<<<XML <?xml version="1.0" encoding="UTF-8"?> <root> <a> <b name="name" value="value"></b> <b name="name" value="value"></b> <b name="name" value="value"></b> </a> <a> <b name="name" value="value"></b> <b name="name" value="value"></b> </a> <a> <b name="name" value="value"></b> <b name="name" value="value"></b> <b name="name" value="value"></b> <b name="name" value="value"></b> </a> </root> XML; $obj=simplexml_load_string($xml); foreach($obj as $k=>$v){ $temp=array(); foreach ($v->b as $sv) { $a=(array)$sv->attributes(); $temp[]=$a['@attributes']; } $arr[]=$temp; } print_r($arr); <br><font color="#e78608">------解决方案--------------------</font><br>
$s = <root> <a> <b name="name" value="value"></b> <b name="name" value="value"></b> <b name="name" value="value"></b> </a> <a> <b name="name" value="value"></b> <b name="name" value="value"></b> </a> <a> <b name="name" value="value"></b> <b name="name" value="value"></b> <b name="name" value="value"></b> <b name="name" value="value"></b> </a> </root> XML; $xml = simplexml_load_string($s); foreach($xml as $item1) { $r = array(); foreach($item1 as $item2) { $t = array(); foreach($item2->attributes() as $k=>$v) { $t[] = array($k => "$v"); } $r[] = $t; } $res[] = $r; } print_r($res); <div class="clear"> </div>