【转】PHP解析带CDATA的XML方法

XML文件,如下

  <xml>
  <ToUserName><![CDATA[toUser]]></ToUserName>
  <FromUserName><![CDATA[FromUser]]></FromUserName>
  <CreateTime>123456789</CreateTime>
  <MsgType><![CDATA[event]]></MsgType>
  <Event><![CDATA[subscribe]]></Event>
  </xml>

假设$str的内容就是上面这段XML。

解决思路很简单:先去掉”cdata”,然后直接转化为json,然后再解析json,然后直接取对应字符串的值,代码如下:$obj = simplexml_load_string($str, 'SimpleXMLElement', LIBXML_NOCDATA);

$obj);
 $dJSON = json_decode($eJSON);
 $toUserName = $dJSON->ToUserName;//获取"ToUserName"对应的值


from:http://blog.csdn.net/cliviapp/article/details/50511978