Home >Backend Development >PHP Tutorial > xml转换成数组的有关问题
xml转换成数组的问题
现有如下xml:
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <root> <rows> <errmsg text=""></errmsg> <retvalue text="true"></retvalue> </rows> <records> <productno text="000321"></productno> <billno text=""></billno> <orderno text="D004410439"></orderno> <out_trade_no text="100001"></out_trade_no> <plcprem text="0.0"></plcprem> <orderprem text="50.0"></orderprem> <commision text="0.0"></commision> </records> .... <root> </root></root>
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> Array ( [rows] => Array ( [errMsg] => [retValue] => true ) [records] => Array ( [productno] =>000321 [billno] => [orderno] =>D004410439 [out_trade_no] => 100001 [plcprem] =>0.0 [orderprem] =>50.0 [commision] =>0.0 ) ..... )
$s = <rows> <errmsg text=""></errmsg> <retvalue text="true"></retvalue> </rows> <records> <productno text="000321"></productno> <billno text=""></billno> <orderno text="D004410439"></orderno> <out_trade_no text="100001"></out_trade_no> <plcprem text="0.0"></plcprem> <orderprem text="50.0"></orderprem> <commision text="0.0"></commision> </records> XML; $obj = simplexml_load_string($s); $r = array(); foreach($obj as $name=>$nodes) { foreach($nodes as $k=>$v) { $t = (array)$v->attributes()->text; $r[$name][$k] = $t[0]; } } print_r($r); <br><font color="#e78608">------解决方案--------------------</font><br>