首页  >  文章  >  后端开发  >  PHP如何将XML转成数组

PHP如何将XML转成数组

高洛峰
高洛峰原创
2016-12-22 15:03:171421浏览

如果你使用 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 转换成数组。

代码:

<?php
$string = <<<XML
<?xml version=&#39;1.0&#39;?> 
<document>
 <title>Forty What?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
 I know that&#39;s the answer -- but what&#39;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 &#39;title&#39; => string &#39;Forty What?&#39; (length=11)
 public &#39;from&#39; => string &#39;Joe&#39; (length=3)
 public &#39;to&#39; => string &#39;Jane&#39; (length=4)
 public &#39;body&#39; => string &#39;
 I know that&#39;s the answer -- but what&#39;s the question?
 &#39; (length=57)
array
 &#39;title&#39; => string &#39;Forty What?&#39; (length=11)
 &#39;from&#39; => string &#39;Joe&#39; (length=3)
 &#39;to&#39; => string &#39;Jane&#39; (length=4)
 &#39;body&#39; => string &#39;
 I know that&#39;s the answer -- but what&#39;s the question?
 &#39; (length=57)

以上就是本文的全部内容,希望对大家的学习有所帮助。


更多PHP如何将XML转成数组相关文章请关注PHP中文网!


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn