PHP如何将XML转成数组


Posted in PHP onApril 04, 2016

如果你使用 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 相关文章推荐
通过JavaScript或PHP检测Android设备的代码
Mar 09 PHP
php简单对象与数组的转换函数代码(php多层数组和对象的转换)
May 18 PHP
php数组的概述及分类与声明代码演示
Feb 26 PHP
php中的strpos使用示例
Feb 27 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十二)
Jun 25 PHP
php生成二维码时出现中文乱码的解决方法
Dec 18 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
ThinkPHP安装和设置
Jul 27 PHP
php版微信发红包接口用法示例
Sep 23 PHP
php 删除一维数组中某一个值元素的操作方法
Feb 01 PHP
laravel中的一些简单实用功能
Nov 03 PHP
php png失真的原因及解决办法
Oct 24 PHP
php自动加载方式集合
Apr 04 #PHP
php文件上传的两种实现方法
Apr 04 #PHP
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
Apr 04 #PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
Apr 04 #PHP
PHP命名空间和自动加载类
Apr 03 #PHP
PHP中的Trait 特性及作用
Apr 03 #PHP
PHP错误处理函数
Apr 03 #PHP
You might like
PHP语法速查表
2006/12/06 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
浅谈ThinkPHP的URL重写
2014/11/25 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
PHP7 其他语言层面的修改
2021/03/09 PHP
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
JavaScript Event学习第六章 事件的访问
2010/02/07 Javascript
js加强的经典分页实例
2013/03/15 Javascript
php 中序列化和json使用介绍
2013/07/08 Javascript
JS控制输入框内字符串长度
2014/05/21 Javascript
javascript学习笔记--数字格式类型
2014/05/22 Javascript
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
vue router 配置路由的方法
2018/07/26 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
javascript中一些奇葩的日期换算方法总结
2018/11/14 Javascript
JS中比较两个Object数组是否相等方法实例
2019/11/11 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
详解Python中for循环是如何工作的
2017/06/30 Python
Python编程求解二叉树中和为某一值的路径代码示例
2018/01/04 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
Python利用pip安装tar.gz格式的离线资源包
2020/09/14 Python
详解anaconda安装步骤
2020/11/23 Python
在Pycharm中安装Pandas库方法(简单易懂)
2021/02/20 Python
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
阳光体育活动总结
2014/04/30 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
表彰大会新闻稿
2015/07/17 职场文书
校运会班级霸气口号
2015/12/24 职场文书
canvas绘制折线路径动画实现
2021/05/12 Javascript
详解MySQL中的主键与事务
2021/05/27 MySQL