PHP将XML转成数组

如果你使用 curl 获取的 xml data
$xml = simplexml_load_string($data);
$data['tk'] = json_decode(json_encode($xml),TRUE);
如果是直接获取 URL 数据的话
$xml = simplexml_load_file($data);
$data['tk'] = json_decode(json_encode($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)

 

你可能感兴趣的:(xml)