xml字符串转成数组(php)
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)的更多相关文章
- oracle根据分隔符将字符串分割成数组函数
--创建表类型 create or replace type mytype as table of number;--如果定义成varchar--CREATE OR REPLACE type myty ...
- 将Xml字符串转换成(DataTable || DataSet || XML)对象
今天用到一个功能:就是把从数据库读出来的内容转换成XML字符串流格式,并输出给一个功能函数.在写的过程,为方便以后的使用,我对这一功能进行分装.该类的具体格式如下:XmlConvert类命名空间:Ni ...
- shell 将字符串分割成数组
代码:test.sh #!/bin/bash a="one,two,three,four" #要将$a分割开,可以这样: OLD_IFS="$IFS" IFS= ...
- laravel 将数组转化成字符串 再把字符串转化成数组
这是在给阮少翔改代码的时候用的方法, 开始的数据用explored转化成数组不是想要的结果, 我就自己写了一个方法把有用的信息提取出来拼接成一个字符串, 再用explored将字符串转化成数组. ...
- js 将XML字符串解析成XML文档 --- attribute construct error--- 空白字符与空格问题
最近在做xml在线编辑器,遇到一个字符串解析成xml文档的问题,记录一下. 原始xml内容读取自xml文档 <label class="test" id="labe ...
- JS - 字符串转换成数组,数组转换成字符串
1.字符串转换成数组: var arr = "1, 2, 3, 4, 5, 6"; arr.split(","); // ["1",&quo ...
- xml 字符串解析成通用的map
[quote]Stax解析技术:快速高效,根据流的形式解析xml,比dom解析技术更加快,dom解析技术是基于文档结构树的,会把整个dom文件树加载到内存进行解析[/quote] package co ...
- ***实用函数:PHP explode()函数用法、切分字符串,作用,将字符串打散成数组
下面是根据explode()函数写的切分分割字符串的php函数,主要php按开始和结束截取中间数据,很实用 代码如下: <? // ### 切分字符串 #### function jb51net ...
- Swift - 将字符串拆分成数组(把一个字符串分割成字符串数组)
在Swift中,如果需要把一个字符串根据特定的分隔符拆分(split)成字符串数组,通常有如下两种方法: 1,使用componentsSeparatedByString()方法 1 2 3 4 5 l ...
随机推荐
- SQL 练习36
查询不同课程成绩相同的学生的学生编号.课程编号.学生成绩 select a.cid, a.sid, a.score from sc as a,sc as b WHERE a.sid = b.sid a ...
- GitHub自动化部署(CD) asp.net core 5.0 项目(免费空间)
这里我简单介绍一下使用Github自动化部署自己项目到Heroku云服务器上,Heroku竟然是一个很非常老牌的云平台服务商,竟然还没听说过,网上一查2010被Salesforce收购,网上有很多关于 ...
- 题解—God Knows
考场上以为就是转化成一个无向图然后以为无向图有什么性质可以搞出来来着. 果然应验了那句话,一个思路想太久想不出来一般是假的. 所以这种一看就需要转化的题要多尝试能往哪转化,而不是按住一个思路不动. 只 ...
- ApacheDubbo
一.什么是ApacheDubbo Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能.轻量级的开源 Java RPC 分布式服务框架,它提供了三大核心能力:面向接口的远 ...
- Vue实现在前端导出Excel 方法1
也可以去看我的方法2:https://www.cnblogs.com/yingyigongzi/p/10915403.html ------------------------------------ ...
- WPF---数据绑定(二)
一.绑定到非UI元素 上篇中,我们绑定的数据源均是派生自UIElement的WPF元素.本篇描述的绑定数据源是一个我们自定义的普通的类型. 注:尽管绑定的数据源可以是任意类型的对象,但Path必须总是 ...
- C#设计模式---观察者模式(Observer Pattern)
一.目的 提供一种一对多的关系,当主题发生变化时候,可以通知所有关联的对象. 二.定义 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生变化时,会通 ...
- SpringBoot中自定义错误页面
错误页面定制(在有模板引擎的情况下): 有模板的支持下: 在templates文件夹下 建立 error文件夹 在error文件夹下 404.html 500.html 4xx.html (名字就叫4 ...
- mzy git学习,禁用Fast forward的普通合并(六)
git merge --no-ff -m "msg" x-branch:禁用Fast forward的普通合并 通常,合并分支时,如果可能,Git会用Fast forward模式, ...
- Struts2之国际化
时间:2017-1-11 11:12 --国际化Struts2已经对国际化进行了封装,我们只需要根据其提供的API进行访问即可.要使用国际化的Action必须继承ActionSupport.1.什么是 ...