FromXml 支付回调 xml 转数组
public function xx(){ $xml = '<xml><appid><![CDATA[xxxxxxxxxxxxx]]></appid> <bank_type><![CDATA[CFT]]></bank_type> <cash_fee><![CDATA[3500]]></cash_fee> <fee_type><![CDATA[CNY]]></fee_type> <is_subscribe><![CDATA[N]]></is_subscribe> <mch_id><![CDATA[xxxxxxxxxxxx]]></mch_id> <nonce_str><![CDATA[xxxxxxxxxxxxx]]></nonce_str> <openid><![CDATA[xxxxxxxxxxxxxxxxxxxxxxxxxx]]></openid> <out_trade_no><![CDATA[111400xxxxxxxxxxxxxx]]></out_trade_no> <result_code><![CDATA[SUCCESS]]></result_code> <return_code><![CDATA[SUCCESS]]></return_code> <sign><![CDATA[DBBB36A12ECE7E3Cxxxxxxxxxxxxxxxx]]></sign> <time_end><![CDATA[20191114005240]]></time_end> <total_fee>3500</total_fee> <trade_type><![CDATA[JSAPI]]></trade_type> <transaction_id><![CDATA[42000004xxxxxxxxxxxxxxxxxxxx3]]></transaction_id> </xml>'; $data = $this->FromXml($xml); dump($data); } public function FromXml($xml) { if(!$xml){ throw new WxPayException("xml数据异常!"); } //将XML转为array //禁止引用外部xml实体 libxml_disable_entity_loader(true); $this->values = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); return $this->values; }
<pre>array(16) {
["appid"] => string(18) "xxxxxxxxxxxxxxxxxxx"
["bank_type"] => string(3) "CFT"
["cash_fee"] => string(4) "3500"
["fee_type"] => string(3) "CNY"
["is_subscribe"] => string(1) "N"
["mch_id"] => string(10) "xxxxxxxxxxxxx"
["nonce_str"] => string(16) "Oec5xxxxxxxxxxxxx"
["openid"] => string(28) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
["out_trade_no"] => string(18) "111400522494411933"
["result_code"] => string(7) "SUCCESS"
["return_code"] => string(7) "SUCCESS"
["sign"] => string(32) "DBBB36A12ECxxxxxxxxxxxxxxxxxxxxxxxxxx"
["time_end"] => string(14) "20191114005240"
["total_fee"] => string(4) "3500"
["trade_type"] => string(5) "JSAPI"
["transaction_id"] => string(28) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
</pre>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2017-11-14 git 删除分支
2017-11-14 git grep mysql 操作历史