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 )

相关推荐
科雷软件测试1 小时前
推荐几个常用的校验yaml、json、xml、md等多种文件格式的在线网站
xml·html·md·yaml
oMcLin3 小时前
如何在 Debian 11 上实现基于 BGP 路由的动态负载均衡,提升跨地域数据中心的连接稳定性
debian·php·负载均衡
oMcLin3 小时前
如何在RHEL 9上配置并优化Kubernetes 1.23高可用集群,提升大规模容器化应用的自动化部署与管理?
kubernetes·自动化·php
ben9518chen4 小时前
Linux文件系统基础
linux·服务器·php
susu10830189114 小时前
maven-3.9.12的conf配置settings.xml
xml·java·maven
电商API&Tina16 小时前
京东 API 数据采集接口接入与行业分析
运维·服务器·网络·数据库·django·php
Sammyyyyy20 小时前
Symfony AI 正式发布,PHP 原生 AI 时代开启
开发语言·人工智能·后端·php·symfony·servbay
码农水水1 天前
大疆Java面试被问:TCC事务的悬挂、空回滚问题解决方案
java·开发语言·人工智能·面试·职场和发展·单元测试·php
do better myself1 天前
php 使用IP2Location限制指定的国家访问实现
开发语言·php