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中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转换为数组
复制代码 代码如下: // 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格式数据的封装类实例
本文实例讲述了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的方法.分享给大家供大家参考.具体如下: 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 function arrayToXml($arr) { $xml = "<xml>"; foreach ($arr as $key=>$val) { if (is_numeric($val)){ $xml.="<".$key.">".$val."</".$key.">"; }else{ $xml.="<
-
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转换数组的方法.分享给大家供大家参考,具体如下: <?php $info = '<?xml version="1.0" encoding="utf-8" ?> <data> <GeocoderSearchResponse> <status>OK</status> <result> <location> <lat>39.94921<
-
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实现数组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之间的互相转换,尤其在处理接口开发的时候经常用到,比如对方客户端POST一个XML格式的数据到服务器上,服务器上的程序要负责接收解析,还有需要将数据表数据以XML格式提供给第三方等等应用. 本文我们将简单介绍如何使用PHP处理数组和XML之间的互相转换. 源码下载:PHP数组与XML之间的转换 PHP将数组转换成XML PHP可以将数组转换成xml格式,简单的办法是遍历数组,然后将数组的key/value转换成xml节点,再直接echo输出了,如: func
-
递归实现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和数组的相互转化功能.分享给大家供大家参考,具体如下: 数组转化为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转数组过程详解
得到一个xml型的对象: 复制代码 代码如下: $resp = $this->c->execute($req, $sessionKey);//获得xml对象$items=$resp->items; 那么读取对象的值,就用$items->item,或者$items->item->price,如此操作很不方便,不符合php操作数组的习惯. php提供了array方法将对象转换成数组,只要把你要转换数组的对象前面加上(array)就行了. 比如将$items->item
随机推荐
- Android编程实现压缩图片并加载显示的方法
- Git 教程之创建仓库详解
- JS延迟加载(setTimeout) JS最后加载
- 升级Windows XP五则技巧超值大放送
- SQL获取表结构的show_table.vbs (冰点极限NP)
- java中javamail发送带附件的邮件实现方法
- java Map转Object与Object转Map实现代码
- iOS开发之UITableView详解
- php数组转成json格式的方法
- PowerShell中获取当前运行脚本路径的方法
- Linux查看命令之od命令详解
- 基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
- jQuery代码实现图片墙自动+手动淡入淡出切换效果
- jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
- PassWord输入框代码分享
- java仿枚举实例
- Android Intent启动别的应用实现方法
- spring boot实现图片上传和下载功能
- python 实现倒排索引的方法
- django 做 migrate 时 表已存在的处理方法