1 $str = '<xml>
2 <ToUserName> <![CDATA[gh_fc0a06a20993]]> </ToUserName>
3 <FromUserName> <![CDATA[oZI8Fj040-be6rlDohc6gkoPOQTQ]]> </FromUserName>
4 <CreateTime>1472549042</CreateTime>
5 <MsgType> <![CDATA[event]]> </MsgType>
6 <Event> <![CDATA[user_consume_card]]> </Event>
7 <CardId> <![CDATA[pZI8Fj8y-E8hpvho2d1ZvpGwQBvA]]> </CardId>
8 <UserCardCode> <![CDATA[452998530302]]> </UserCardCode>
9 <ConsumeSource> <![CDATA[FROM_API]]> </ConsumeSource>
10 <LocationName> <![CDATA[]]> </LocationName>
11 <StaffOpenId> <![CDATA[oZ********nJ3bPJu_Rtjkw4c]]> </StaffOpenId>
12 <VerifyCode> <![CDATA[]]> </VerifyCode>
13 <RemarkAmount> <![CDATA[]]> </RemarkAmount>
14 <OuterStr> <![CDATA[xxxxx]]> </OuterStr>
15 </xml>';
16
17 $obj = simplexml_load_string($str,"SimpleXMLElement", LIBXML_NOCDATA);
18 $test = json_decode(json_encode($obj),true);
19 $arr = [
20 'FromUserName' => $test['FromUserName'],
21 'ToUserName' => $test['ToUserName'],
22 'CreateTime' => $test['CreateTime'],
23 'CardId' => $test['CardId'],
24 'UserCardCode' => $test['UserCardCode'],
25 'ConsumeSource' => $test['ConsumeSource'],
26 'StaffOpenId' => $test['StaffOpenId']
27 ];
28 $arr = array_map('trim',$arr);
29 var_dump($arr);

在做微信公众号时由于将xml转成对象,每个单独调用时可能会有意外麻烦,所以需要先转成数组,array_map是为了去除空格,因为我发现有部分元素两端是有空格的,造成过功能失效

xml字符串转成数组(php)的更多相关文章

  1. oracle根据分隔符将字符串分割成数组函数

    --创建表类型 create or replace type mytype as table of number;--如果定义成varchar--CREATE OR REPLACE type myty ...

  2. 将Xml字符串转换成(DataTable || DataSet || XML)对象

    今天用到一个功能:就是把从数据库读出来的内容转换成XML字符串流格式,并输出给一个功能函数.在写的过程,为方便以后的使用,我对这一功能进行分装.该类的具体格式如下:XmlConvert类命名空间:Ni ...

  3. shell 将字符串分割成数组

    代码:test.sh #!/bin/bash a="one,two,three,four" #要将$a分割开,可以这样: OLD_IFS="$IFS" IFS= ...

  4. laravel 将数组转化成字符串 再把字符串转化成数组

    这是在给阮少翔改代码的时候用的方法, 开始的数据用explored转化成数组不是想要的结果, 我就自己写了一个方法把有用的信息提取出来拼接成一个字符串, 再用explored将字符串转化成数组.   ...

  5. js 将XML字符串解析成XML文档 --- attribute construct error--- 空白字符与空格问题

    最近在做xml在线编辑器,遇到一个字符串解析成xml文档的问题,记录一下. 原始xml内容读取自xml文档 <label class="test" id="labe ...

  6. JS - 字符串转换成数组,数组转换成字符串

    1.字符串转换成数组: var arr = "1, 2, 3, 4, 5, 6"; arr.split(","); // ["1",&quo ...

  7. xml 字符串解析成通用的map

    [quote]Stax解析技术:快速高效,根据流的形式解析xml,比dom解析技术更加快,dom解析技术是基于文档结构树的,会把整个dom文件树加载到内存进行解析[/quote] package co ...

  8. ***实用函数:PHP explode()函数用法、切分字符串,作用,将字符串打散成数组

    下面是根据explode()函数写的切分分割字符串的php函数,主要php按开始和结束截取中间数据,很实用 代码如下: <? // ### 切分字符串 #### function jb51net ...

  9. Swift - 将字符串拆分成数组(把一个字符串分割成字符串数组)

    在Swift中,如果需要把一个字符串根据特定的分隔符拆分(split)成字符串数组,通常有如下两种方法: 1,使用componentsSeparatedByString()方法 1 2 3 4 5 l ...

随机推荐

  1. Java的安装过程和开发环境

    首先需要安装jdk(Java Development Kit开发工具包) 下载地址:https://www.oracle.com/java/technologies/javase-downloads. ...

  2. Linux文件系统只读 解决方案:

    Linux系统Read-only file system,文件系统只读排查解决方案:文件系统只读机制:当文件系统自身的校验机制发现文件系统存在问题时,为避免文件系统受到进一步的损坏,系统会把文件系统设 ...

  3. jpa 指定字段内容按照顺序排序(orderBy when then)

    query.orderBy( criteriaBuilder.desc( criteriaBuilder.selectCase() .when(criteriaBuilder.equal(root.g ...

  4. wpf 中的 自定义控件的 binding

    XMl 代码 --------------------------------------------------------------------------------------------- ...

  5. 深入浅出Mybatis系列(十)---延迟加载

    一.延迟加载 resultMap可以实现高级映射(使用association.collection实现一对一及一对多映射),association.collection具备延迟加载功能. 延迟加载:先 ...

  6. 【OpenLayers】入门教程地址

    [OpenLayers]入门教程地址:  点击进入   http://anzhihun.coding.me/ol3-primer/index.html 简书地址 :  http://www.jians ...

  7. JavaWeb学习总结—Session

    转载自:https://www.cnblogs.com/xdp-gacl/p/3855702.html 一.Session简单介绍 在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(sess ...

  8. 使用servlet中是否需要考虑线程问题

    package day09; import java.io.IOException; import javax.servlet.ServletException; import javax.servl ...

  9. Python文件(File)及读写操作及生成器yield

    open函数在内存中创建缓存区,将磁盘上的内容复制到此处.文件内容读入到文件对象缓冲区后,文件对象将缓冲区视为非常大的列表,其中每个元素都有一个索引.文件对象按字节(大约每个字符)来对文件对象缓冲区索 ...

  10. MySQL基础2——常用命令

    注意:MySQL在centos中安装的是5.7版本的,编辑MySQL时会有个报错,需要执行: set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN ...