php 使用simplexml_load_string转换xml数据格式失败

本文介绍如何使用php函数解析xml数据为数组。

php 复制代码
<?php

$a = '<xml><ToUserName><![CDATA[ww8b77afac71336111]]></ToUserName><FromUserName><![CDATA[sys]]></FromUserName><CreateTime>1736328669</CreateTime><MsgType><![CDATA[event]]></MsgType><Event><![CDATA[change_external_contact]]></Event><ChangeType><![CDATA[del_external_contact]]></ChangeType><UserID><![CDATA[Xu]]></UserID><ExternalUserID><![CDATA[woh0dIDAAA4kq6S_aXw1UkX7_qXb22ng]]></ExternalUserID></xml>';

$xmlObject = simplexml_load_string($a,'SimpleXMLElement', LIBXML_NOBLANKS);
$json = json_encode($xmlObject);
var_dump($json);
$array = json_decode($json, true);
print_r($array);

打印后发现xml内容中带有CDATA的好像不能正常解析

string(133) "{"ToUserName":{},"FromUserName":{},"CreateTime":"1736328669","MsgType":{},"Event":{},"ChangeType":{},"UserID":{},"ExternalUserID":{}}"

Array

(

ToUserName\] =\> Array ( ) \[FromUserName\] =\> Array ( ) \[CreateTime\] =\> 1736328669 \[MsgType\] =\> Array ( ) \[Event\] =\> Array ( ) \[ChangeType\] =\> Array ( ) \[UserID\] =\> Array ( ) \[ExternalUserID\] =\> Array ( ) )

看起来不错,我来替换下尝试一下

string(239) "{"ToUserName":"ww8b77afac713361bd","FromUserName":"sys","CreateTime":"1736328669","MsgType":"event","Event":"change_external_contact","ChangeType":"del_external_contact","UserID":"XuBin","ExternalUserID":"woh0dIDAAA4kq6S_aXw1UkX7_qXb22ng"}"

Array

(

ToUserName\] =\> ww8b77afac71336111 \[FromUserName\] =\> sys \[CreateTime\] =\> 1736328669 \[MsgType\] =\> event \[Event\] =\> change_external_contact \[ChangeType\] =\> del_external_contact \[UserID\] =\> Xu \[ExternalUserID\] =\> woh0dIDAAA4kq6S_aXw1UkX7_qXb22ng )

相关推荐
JMchen12319 分钟前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
AZ996ZA3 小时前
自学linux的第二十一天【DHCP 服务从入门到实战】
linux·运维·服务器·php
darkb1rd5 小时前
八、PHP SAPI与运行环境差异
开发语言·网络安全·php·webshell
darkb1rd6 小时前
七、PHP配置(php.ini)安全最佳实践
安全·php·webshell
JSON_L6 小时前
Fastadmin中使用GatewayClient
php·fastadmin
青茶3606 小时前
php怎么实现订单接口状态轮询请求
前端·javascript·php
wxin_VXbishe9 小时前
C#(asp.net)学员竞赛信息管理系统-计算机毕业设计源码28790
java·vue.js·spring boot·spring·django·c#·php
Risehuxyc10 小时前
备份三个PHP程序
android·开发语言·php
lpfasd12311 小时前
物联网后端岗位java面试题
java·物联网·php
JSON_L11 小时前
Fastadmin中使用百度翻译API
php·fastadmin·百度翻译api