PHP如何将XML转成数组

yipeiwu_com7年前PHP代码库

如果你使用 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='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实现的封装验证码类详解

用PHP写一个验证码类,并进行封装。类名: validationcode.class.php代码如下:复制代码 代码如下:<?php class ValidationCo...

PHP守护进程的两种常见实现方式详解

本文实例讲述了PHP守护进程的两种常见实现方式。分享给大家供大家参考,具体如下: 第一种方式,借助 nohup 和 &  配合使用。 在命令后面加上 & 符号, 可以让启动的进...

PHP5.2中PDO的简单使用方法

本文实例讲述了PHP5.2中PDO的简单使用方法。分享给大家供大家参考,具体如下: 一、PDO配置 1、确保PHP版本为5.2.5以上 2、在php.ini中找到Dynamic Exte...

CMS中PHP判断系统是否已经安装的方法示例

当今很多常用的CMS系统都带有安装程序,为了用户的使用方便,新下载的系统在使用前,都会判断该CMS系统是否已经安装过,若安装了则就给出提示,不需要重复安装,若未安装则进入安装界面,指导用...

sphinx增量索引的一个问题

但最近发现增量的总是搜索不到,今天看了下运行日志,有如下提示: [Sun Apr 17 19:30:01.876 2011] [ 3400] WARNING: rotating inde...