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之间的互相转换,尤其在处理接口开发的时候经常用到,比如对方客户端POST一个XML格式的数据到服务器上,服务器上的程序要负责接收解析,还有需要将数据表数据以XML格式提供给第三方等等应用. 本文我们将简单介绍如何使用PHP处理数组和XML之间的互相转换. 源码下载:PHP数组与XML之间的转换 PHP将数组转换成XML PHP可以将数组转换成xml格式,简单的办法是遍历数组,然后将数组的key/value转换成xml节点,再直接echo输出了,如: func
-
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的方法
本文实例讲述了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数组转xml的代码分享
PHP中将数组转为xml的需求是常见的,而且实现方法也有很多种,百度找了一下各种实现方法,但是基本是借组一些组件啥的.我就自己写了一个字符串拼组的方法,支持多维数组.仅供参考,不足之处敬请不吝赐教! /** * 将数组转换为xml * @param array $data 要转换的数组 * @param bool $root 是否要根节点 * @return string xml字符串 * @author Dragondean * @url http://www.cnblogs.com/drag
-
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和数组互相转换详解
PHP XML和数组互相转换 //数组转XML function arrayToXml($arr) { $xml = "<xml>"; foreach ($arr as $key=>$val) { if (is_numeric($val)){ $xml.="<".$key.">".$val."</".$key.">"; }else{ $xml.="<
-
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: 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转数组函数的详解
如下所示: 复制代码 代码如下: <?/** * 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实现数组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转换为数组
复制代码 代码如下: // 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格式的实现代码
下面是网上的 复制代码 代码如下: 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将XML转数组过程详解
得到一个xml型的对象: 复制代码 代码如下: $resp = $this->c->execute($req, $sessionKey);//获得xml对象$items=$resp->items; 那么读取对象的值,就用$items->item,或者$items->item->price,如此操作很不方便,不符合php操作数组的习惯. php提供了array方法将对象转换成数组,只要把你要转换数组的对象前面加上(array)就行了. 比如将$items->item
随机推荐
- Python的Bottle框架中获取制定cookie的教程
- jQuery怎么解析Json字符串(Json格式/Json对象)
- 用vbs实现的确定共享文件夹的本地路径?
- 12个非常实用的JavaScript小技巧【推荐】
- 通过先序遍历和中序遍历后的序列还原二叉树(实现方法)
- C++ 成员变量的初始化顺序问题详解
- Android ExpandableRecyclerView使用方法详解
- 用Nodejs搭建服务器访问html、css、JS等静态资源文件
- Ajax 说的比较清楚的一篇文章
- Javascript入门学习第八篇 js dom节点属性说明第1/2页
- 利用JavaScript检测CPU使用率自己写的
- 微信小程序 详解下拉加载与上拉刷新实现方法
- jQuery读取本地的json文件(实例讲解)
- 微信小程序 增、删、改、查操作实例详解
- Javascript中indexOf()和lastIndexOf应用方法实例
- 一网打尽WinXP系统安全实用技巧
- Android中点击事件的四种写法详解
- C#实现多线程的Web代理服务器实例
- Java4Android开发教程(四)java的变量
- 华为公司三层以太网交换机基本原理及转发流程