解析xml时,遇到提示xmlParseEntityRef: no name

一步步检查,发现是字符&导致的,于是进行如下处理:

$data = str_replace('&', '&', $data);

替换以后再进行解析,就不会出错了。

另外,存一个解析xml的函数

function parseXml($data){
    $data = str_replace('', '', $data);
    $data = str_replace('&', '&', $data);
    return json_decode(json_encode(simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
}