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

)

完美

相关推荐
肠畔码农26 分钟前
Redis 主从复制内核深潜:从物理模型到全量增量同步的本质
网络·redis·php
辻弋2012 小时前
一键优化电源计划、游戏模式、独显强制、禁用后台录制——DeltaForceBooster专治三角洲行动卡顿掉帧,所有改动可一键还原
服务器·数据库·windows·游戏·电脑·php
Sagittarius_A*3 小时前
【好靶场】PHP反序列化入门练习
安全·php·web·反序列化
2601_965798473 小时前
How to Build a Scalable Classified Directory with Classima Theme
php·theme
何以解忧,唯有..4 小时前
Python logging 模块:从入门到精通
python·microsoft·php
quantdash_cc4 小时前
历史数据断层与REST请求慢到崩溃?QuantDash高性能量化数据API终极解决方案
开发语言·python·缓存·php·量化·quantdash
sbjdhjd4 小时前
CTF 技术复盘:从参数类型绕过到正则回溯 | Merry Christmas PHP CTF(gift.php & gift_plus.php)
安全·网络安全·云计算·php·ctf·红队·网络攻防
ly76895 小时前
XML 从入门到实践:语法、命名空间、XPath、XSD 与 Java 安全解析
xml·java·python
Sagittarius_A*5 小时前
【好靶场】PHP反序列化入门练习2
开发语言·web安全·信息安全·php·代码审计·反序列化
PHP实战开发录5 小时前
微信小程序多环境配置混用排查记录
微信小程序·php·开发·接口隔离原则