PHP将XML转成数组

如果你使用 curl 获取的 xml data
xml=simplexmlloadstring(data);
data[tk]=jsondecode(jsonencode(xml),TRUE);
如果是直接获取 URL 数据的话
xml=simplexmlloadfile(data);
data[tk]=jsondecode(jsonencode(

xml),TRUE);
先把 simplexml 对象转换成 json,再将 json 转换成数组。

 

 

 Forty What?
 Joe
 Jane
 
  I know that's the answer -- but what's the question?
 

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转成数组)