如果你使用curl 取得的xml data
xml=simplexmlloadstring(data);
data[′tk′]=jsondecode(jsonencode(xml),TRUE);
如果是直接取得URL 資料的話
xml=simplexloadfile(data) ;
data[′tk′]=jsondecode(jsonencode(xml),TRUE);
先把simplexml 物件轉換成json,再將json 轉換成陣列。
程式碼:
<?php $string = <<<XML <?xml version='1.0'?> <document> <title>Forty What?</title> <from>Joe</from> <to>Jane</to> <body> I know that's the answer -- but what's the question? </body> </document> XML; $xml=simplexml_load_string($string); $data = json_decode(json_encode($xml),TRUE); var_dump( $xml ); var_dump( $data );
object(SimpleXMLElement)[1] public 'title' => string 'Forty What?' (length=11) public 'from' => string 'Joe' (length=3) public 'to' => string 'Jane' (length=4) public 'body' => string ' I know that's the answer -- but what's the question? ' (length=57) array 'title' => string 'Forty What?' (length=11) 'from' => string 'Joe' (length=3) 'to' => string 'Jane' (length=4) 'body' => string ' I know that's the answer -- but what's the question? ' (length=57)
以上就是本文的全部內容,希望對大家的學習有所幫助。
更多PHP如何將XML轉換成數組相關文章請關注PHP中文網!