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

)

完美

相关推荐
一条破秋裤6 小时前
TCP 套接字:API 流程、地址结构与网络字节序
网络·tcp/ip·php
HZZD_HZZD7 小时前
弱网下CoAP还省吗?合众致达Cat.1电表90天实测:MQTT重连流量占52%、续航差距从38%拉大到73%
开发语言·物联网·php·腾讯云
无糖可乐没有灵魂9 小时前
用一篇文章来精通“进程/线程/协程/锁“多并发任务
开发语言·php
字节渡客9 小时前
PHP项目复盘:foreach 引用残留造成的诡异数据错乱
开发语言·php
泡海椒9 小时前
JQuick-Excel JQuickRow 数据准备实战:JObjectConverter、JQuickRow.toRows 与 XML 导出链路
xml·windows·excel
aixingpan10 小时前
aixingpan.cn API开发文档:api_docs_transit接口指南
前端·php
狗凯之家源码网20 小时前
淘客口令落地页生成器 PHP 版深度评测
开发语言·php
画绛集美术20 小时前
本地化部署LLM用于美术史问答:一间美术教室的实践记录
开发语言·php
PHP实战开发录1 天前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
狗凯之家源码网1 天前
PHP 用户反馈系统源码深度评测与实战指南
开发语言·php·用户反馈系统