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

(

)

)

期初我以为是这个函数有问题,随后我查阅了官方文档,https://www.php.net/manual/zh/libxml.constants.php

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

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

)

完美

相关推荐
吃着火锅x唱着歌4 分钟前
PHP7内核剖析 学习笔记 第五章 PHP的编译与执行(1)
笔记·学习·php
CherishXt4 小时前
PHP获取局域网ip(192.168)
android·tcp/ip·php
我不是程序猿儿13 小时前
【C++】xml烧录 调用twinCat流程自动化
xml·c++·自动化
find_starshine13 小时前
xml-dota-yolo数据集格式转换
xml·python·yolo
小高Baby@18 小时前
网络授时笔记
开发语言·笔记·学习·php
范纹杉想快点毕业18 小时前
XML通过HTTP POST 请求发送到指定的 API 地址,进行数据回传
xml·c语言·开发语言·数据结构·c++·python·c#
zhencon-com18 小时前
如何用Python编程实现自动整理XML发票文件
xml·经验分享·笔记·娱乐·媒体·教育电商·政务
LixiSchool18 小时前
Unity XML和Json文件的读取和写入以及序列化和反序列化
xml·json
万亿少女的梦16820 小时前
基于php的web系统漏洞攻击靶场设计与实践
前端·安全·web安全·信息安全·毕业设计·php