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 )

相关推荐
终焉暴龙王11 小时前
CTFHub web进阶 php Bypass disable_function通关攻略
开发语言·安全·web安全·php
阿华的代码王国16 小时前
【Android】相对布局应用-登录界面
android·xml·java
工藤新一OL17 小时前
把xml的格式从utf-8-bom转为utf-8
xml·c#·asp.net·.netcore·visual studio
小鼻崽纸19 小时前
cacti漏洞CVE-2022-46169的复现
php
henysugar20 小时前
便捷删除Android开发中XML中重复字符串资源的一个办法
android·xml
程序员编程指南20 小时前
Qt XML 与 JSON 数据处理方法
xml·c语言·c++·qt·json
stand_forever1 天前
laravel框架优化
php·laravel
Python涛哥1 天前
PHP框架之Laravel框架教程:1. laravel搭建
开发语言·php·laravel
大白玉米1 天前
TVBOXOS6.0双端APP二开源码完整版全开源源码重构版
java·重构·php
布说在见2 天前
踩坑与成长:WordPress、MyBatis-Plus 及前端依赖问题解决记录
服务器·学习·php