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

)

完美

相关推荐
哥坐11路11 小时前
网络IP跳动问题解决详
开发语言·php
一只哒布刘18 小时前
第六次作业
开发语言·php
云中飞鸿18 小时前
MFC中CString的Format、与XML中的XML_SETTEXT格式化注意
xml·c++·mfc
寰宇软件18 小时前
PHP房屋出租出售高效预约系统小程序源码
前端·小程序·uni-app·vue·php
HUNAG-DA-PAO18 小时前
Redis存在线程安全吗?为什么?
redis·安全·php
ianozo19 小时前
BUU40 [安洵杯 2019]easy_serialize_php
android·开发语言·php
zgscwxd21 小时前
php session数据存储位置选择
开发语言·php
ianozo1 天前
CTF 代码学习日记 PHP
java·学习·php
初见_Dream1 天前
Retrofit+OkHttp+ViewModel
xml·okhttp·retrofit
wolf犭良2 天前
14、《SpringBoot+MyBatis集成(2)——进阶配置XML与注解的灵活运用》
xml·spring boot·mybatis