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 转换成数组。
代码:
<?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将XML转数组过程详解
得到一个xml型的对象: 复制代码 代码如下: $resp = $this->c->execute($req, $sessionKey);//获得xml对象$items=$resp->items; 那么读取对象的值,就用$items->item,或者$items->item->price,如此操作很不方便,不符合php操作数组的习惯. php提供了array方法将对象转换成数组,只要把你要转换数组的对象前面加上(array)就行了. 比如将$items->item
-
PHP XML和数组互相转换详解
PHP XML和数组互相转换 //数组转XML function arrayToXml($arr) { $xml = "<xml>"; foreach ($arr as $key=>$val) { if (is_numeric($val)){ $xml.="<".$key.">".$val."</".$key.">"; }else{ $xml.="<
-
php实现将数组转换为XML的方法
本文实例讲述了php实现将数组转换为XML的方法.分享给大家供大家参考.具体如下: 1. php代码如下: <?php class A2Xml { private $version = '1.0'; private $encoding = 'UTF-8'; private $root = 'root'; private $xml = null; function __construct() { $this->xml = new XmlWriter(); } function toXml($da
-
PHP实现数组array转换成xml的方法
本文实例讲述了PHP实现数组array转换成xml的方法.分享给大家供大家参考,具体如下: <?php $elementLevel = 0 ; function array_Xml($array, $keys = '') { global $elementLevel; if(!is_array($array)) { if($keys == ''){ return $array; }else{ return "\n<$keys>" . $array . "&l
-
php实现xml转换数组的方法示例
本文实例讲述了php实现xml转换数组的方法.分享给大家供大家参考,具体如下: <?php $info = '<?xml version="1.0" encoding="utf-8" ?> <data> <GeocoderSearchResponse> <status>OK</status> <result> <location> <lat>39.94921<
-
php之XML转数组函数的详解
如下所示: 复制代码 代码如下: <?/** * xml2array() will convert the given XML text to an array in the XML structure. * Link: http://www.bin-co.com/php/scripts/xml2array/ * Arguments : $contents - The XML text * $get_attributes - 1 or 0. If this is
-
php实现XML和数组的相互转化功能示例
本文实例讲述了php实现XML和数组的相互转化功能.分享给大家供大家参考,具体如下: 数组转化为xml: function arrtoxml($arr,$dom=0,$item=0){ if (!$dom){ $dom = new DOMDocument("1.0"); } if(!$item){ $item = $dom->createElement("root"); $dom->appendChild($item); } foreach ($arr
-
PHP数组生成XML格式数据的封装类实例
本文实例讲述了PHP数组生成XML格式数据的封装类.分享给大家供大家参考,具体如下: 类库代码:MakeXML.php: <?php /** * MakeXML * * @author Lin Jiong(slime09@gmail.com) * @version v1.0 * @license Copyright (c) 2009 Lin Jiong (www.cn09.com) * The LGPL (http://www.gnu.org/licenses/lgpl.html) licens
-
php下将XML转换为数组
复制代码 代码如下: // Xml 转 数组, 包括根键 function xml_to_array( $xml ) { $reg = "/<(\w+)[^>]*>([\\x00-\\xFF]*)<\\/\\1>/"; if(preg_match_all($reg, $xml, $matches)) { $count = count($matches[0]); for($i = 0; $i < $count; $i++) { $subxml= $ma
-
PHP处理数组和XML之间的互相转换
在开发中,我们经常会遇到数组与XML之间的互相转换,尤其在处理接口开发的时候经常用到,比如对方客户端POST一个XML格式的数据到服务器上,服务器上的程序要负责接收解析,还有需要将数据表数据以XML格式提供给第三方等等应用. 本文我们将简单介绍如何使用PHP处理数组和XML之间的互相转换. 源码下载:PHP数组与XML之间的转换 PHP将数组转换成XML PHP可以将数组转换成xml格式,简单的办法是遍历数组,然后将数组的key/value转换成xml节点,再直接echo输出了,如: func
-
PHP中将数组转成XML格式的实现代码
下面是网上的 复制代码 代码如下: class ArrayToXML { /** * The main function for converting to an XML document. * Pass in a multi dimensional array and this recrusively loops through and builds up an XML document. * * @param array $data * @param string $rootNodeName
-
php中Array2xml类实现数组转化成XML实例
本文实例讲述了php中Array2xml类实现数组转化成XML的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php class Array2xml { var $xml; function array2xml($array,$encoding='utf-8') { $this->xml='<?xml version="1.0" encoding="'.$encoding.'"?>'
-
递归实现php数组转xml的代码分享
PHP中将数组转为xml的需求是常见的,而且实现方法也有很多种,百度找了一下各种实现方法,但是基本是借组一些组件啥的.我就自己写了一个字符串拼组的方法,支持多维数组.仅供参考,不足之处敬请不吝赐教! /** * 将数组转换为xml * @param array $data 要转换的数组 * @param bool $root 是否要根节点 * @return string xml字符串 * @author Dragondean * @url http://www.cnblogs.com/drag
随机推荐
- ES6学习之变量的解构赋值
- iOS 拦截重定向302跳转的方法详解
- php常用字符串比较函数实例汇总
- JS在TextArea光标位置插入文字并实现移动光标到文字末尾
- php集成环境xampp中apache无法启动问题解决方案
- 在PHP中使用灵巧的体系结构
- JS使用正则去除字符串最后的逗号
- XMLHttp ASP远程获取网页内容代码
- Android5.0 旋转菜单实例详解
- Linux Shell脚本系列教程(三):变量和环境变量
- 在 Ubuntu 16.04 为 Nginx 服务器安装 LEMP 环境(MariaDB,PHP 7 并支持 HTTP 2.0)
- 利用Python将时间或时间间隔转为ISO 8601格式方法示例
- java 二分法算法的实例
- ERROR CODE: 1175 YOU ARE USING SAFE UPDATE MODE AN
- php生成rss类用法实例
- 关注jquery技巧提高jquery技能(前端开发必学)
- jQuery点缩略图弹出层显示大图片
- 点弹代码 点击页面任何位置都可以弹出页面效果代码
- Android多媒体教程之播放视频的四种方法
- upload上传单张图片
