php将微信返回的xml解析为数组
时间: 2024-05-06 17:20:37 浏览: 8
可以使用PHP自带的SimpleXML库来将微信返回的XML解析为数组。
以下是一个示例代码:
```php
$xml = '<xml><ToUserName><![CDATA[gh_7f083739789a]]></ToUserName>
<FromUserName><![CDATA[oia2TjuEGTNoeX76QEjQNrcURxG8]]></FromUserName>
<CreateTime>1395658920</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[LOCATION]]></Event>
<Latitude>23.137466</Latitude>
<Longitude>113.352425</Longitude>
<Precision>119.385040</Precision>
</xml>';
$xmlObj = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
$arr = json_decode(json_encode($xmlObj), true);
```
解析后的数组会包含XML中所有的节点和其对应的值。在上面的示例中,解析后的数组为:
```php
Array
(
[ToUserName] => gh_7f083739789a
[FromUserName] => oia2TjuEGTNoeX76QEjQNrcURxG8
[CreateTime] => 1395658920
[MsgType] => event
[Event] => LOCATION
[Latitude] => 23.137466
[Longitude] => 113.352425
[Precision] => 119.385040
)
```
可以通过数组访问解析后的数据,例如:
```php
echo $arr['ToUserName']; // 输出 gh_7f083739789a
echo $arr['Latitude']; // 输出 23.137466
```