PHP中XML和数组互相转换的方法
来源:互联网 发布:沈航网络自助服务 编辑:程序博客网 时间:2024/05/02 03:01
转换代码如下
//数组转XML function arrayToXml($arr) { $xml = "<xml>"; foreach ($arr as $key=>$val) { if (is_numeric($val)){ $xml.="<".$key.">".$val."</".$key.">"; }else{ $xml.="<".$key."><![CDATA[".$val."]]></".$key.">"; } } $xml.="</xml>"; return $xml; } //将XML转为array function xmlToArray($xml) { //禁止引用外部xml实体 libxml_disable_entity_loader(true); $values = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); return $values; }
Array转XML
$money = 101;$sender = "方倍工作室";$obj2 = array();$obj2['wxappid'] = APPID;$obj2['mch_id'] = MCHID;$obj2['mch_billno'] = MCHID.date('YmdHis').rand(1000, 9999);$obj2['client_ip'] = $_SERVER['REMOTE_ADDR'];$obj2['re_openid'] = $openid;$obj2['total_amount'] = $money;$obj2['min_value'] = $money;$obj2['max_value'] = $money;$obj2['total_num'] = 1;$obj2['nick_name'] = $sender;$obj2['send_name'] = $sender;$obj2['wishing'] = "恭喜发财";$obj2['act_name'] = "方倍工作室送红包";$obj2['remark'] = "关注公众账号";
转换后
<xml> <wxappid><![CDATA[wx1b7559b818e3c123]]></wxappid> <mch_id>1235571234</mch_id> <mch_billno>1235571234201605241726128109</mch_billno> <client_ip><![CDATA[127.0.0.1]]></client_ip> <re_openid><![CDATA[oiPuduGV7gJ_MOSfAWpVmhhgXh-U]]></re_openid> <total_amount>101</total_amount> <min_value>101</min_value> <max_value>101</max_value> <total_num>1</total_num> <nick_name><![CDATA[方倍工作室]]></nick_name> <send_name><![CDATA[方倍工作室]]></send_name> <wishing><![CDATA[恭喜发财]]></wishing> <act_name><![CDATA[方倍工作室送红包]]></act_name> <remark><![CDATA[关注公众账号]]></remark></xml>
XML转为Array
<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[发放成功]]></return_msg><result_code><![CDATA[SUCCESS]]></result_code><err_code><![CDATA[MONEY_LIMIT]]></err_code><err_code_des><![CDATA[发放成功]></err_code_des><mch_billno><![CDATA[1235571234201605241651123985]]></mch_billno><mch_id>1235571234</mch_id><wxappid><![CDATA[wx1b7559b818e3c123]]></wxappid><re_openid><![CDATA[oiPuduGV7gJ_MOSfAWpVmhhgXh-U]]></re_openid><total_amount>1</total_amount></xml>
转换后
array(10) { ["return_code"]=> string(7) "SUCCESS" ["return_msg"]=> string(12) "发放成功" ["result_code"]=> string(7) "SUCCESS" ["err_code"]=> string(11) "MONEY_LIMIT" ["err_code_des"]=> string(12) "发放成功" ["mch_billno"]=> string(28) "1235571234201605241651123985" ["mch_id"]=> string(10) "1235571234" ["wxappid"]=> string(18) "wx1b7559b818e3c123" ["re_openid"]=> string(28) "oiPuduGV7gJ_MOSfAWpVmhhgXh-U" ["total_amount"]=> string(1) "1"}
2 1
- PHP中XML和数组互相转换的方法
- PHP XML和数组互相转换
- PHP XML和数组互相转换
- PHP处理数组和XML之间的互相转换
- JavaScript中数组和字符串的方法以及互相转换
- JavaScript中数组和字符串的方法以及互相转换
- PHP数组与XML互相转换
- PHP 数组和字符串互相转换实现方法
- PHP 数组和字符串互相转换实现方法
- PHP 数组和字符串互相转换实现方法
- PHP 数组和字符串互相转换实现方法
- PHP 数组和字符串互相转换实现方法
- PHP 数组和字符串互相转换实现方法
- json和php数组 格式的互相转换
- json和php数组 格式的互相转换
- json和php数组 格式的互相转换
- PHP 数组和字符串互相转换
- PHP 数组和字符串互相转换
- windows-64位环境下搭建PHP5.5+Apache2.4+Mysql5.6+PhpMyAdmin
- Linux下的find指令详解
- 数据库之SQL的主键和外键的作用
- 条款1---C++尽量用const,inline,enum等代替#define
- http://poj.org/problem?id=1125 最短路径
- PHP中XML和数组互相转换的方法
- Nginx Upstream负责均衡的实现方案
- Struts2的类型转换器
- android eclipse中html编辑器插件的下载和安装
- 多线程:生产者 消费者
- struts2的工作原理
- bzoj 1911: [Apio2010]特别行动队 动态规划+斜率优化
- 前端跨域的整理
- java NIO