<xml><ToUserName><![CDATA[aaaa]]></ToUserName> <FromUserName><![CDATA[bbbbbbbbbbbbbbbb]]></FromUserName> <CreateTime>111111111111</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[ddddddddddddddddd]]></Event>php如何将这串xml转成对应的数组
时间: 2023-07-09 11:38:10 浏览: 229
在 PHP 中,可以使用 `simplexml_load_string` 函数将 XML 字符串转换为 SimpleXMLElement 对象,然后使用 `json_encode` 和 `json_decode` 函数将其转换为数组。以下是一个示例代码:
```php
$xml_string = '<xml><ToUserName><![CDATA[aaaa]]></ToUserName> <FromUserName><![CDATA[bbbbbbbbbbbbbbbb]]></FromUserName> <CreateTime>111111111111</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[ddddddddddddddddd]]></Event></xml>';
$xml = simplexml_load_string($xml_string, 'SimpleXMLElement', LIBXML_NOCDATA);
$json = json_encode($xml);
$array = json_decode($json, true);
```
这段代码将 XML 字符串 `$xml_string` 转换为 SimpleXMLElement 对象 `$xml`,然后使用 `json_encode` 函数将其转换为 JSON 字符串 `$json`,最后使用 `json_decode` 函数将其转换为数组 `$array`。
需要注意的是,上面的示例代码中使用了 `LIBXML_NOCDATA` 参数,这是为了防止 CDATA 节点被解析为 SimpleXMLElement 对象。如果 XML 中没有 CDATA 节点,可以省略这个参数。
阅读全文