array(2) {
["header"]=>
string(267) "HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=BDED717E8585DDA55A47EA1822C00E80; Path=/sdkproxy/; HttpOnly
Content-Type: text/html;charset=UTF-8
Content-Language: en-GB
Content-Length: 103
Date: Sat, 24 Aug 2013 02:38:00 GMT
Connection: close"
["body"]=>
string(103) "
<?xml version="1.0" encoding="UTF-8"?><response><error>0</error><message>-1100.0</message></response>"
}
是一个web服务端的返回值
用 simplexml_load_string解析返回false,我都诧异了['body']的内容如何转换成一个数组形式
["header"]=>
string(267) "HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=BDED717E8585DDA55A47EA1822C00E80; Path=/sdkproxy/; HttpOnly
Content-Type: text/html;charset=UTF-8
Content-Language: en-GB
Content-Length: 103
Date: Sat, 24 Aug 2013 02:38:00 GMT
Connection: close"
["body"]=>
string(103) "
<?xml version="1.0" encoding="UTF-8"?><response><error>0</error><message>-1100.0</message></response>"
}
是一个web服务端的返回值
用 simplexml_load_string解析返回false,我都诧异了['body']的内容如何转换成一个数组形式
解决方案 »
- 新手求助!查询语句
- 请问一下为什么我print_r 输出的值是对的,然后想马值 $location return就是return不出来.谢谢,望高手赐教!!! 急
- 请高手帮忙.htaccess如何控制php.ini
- 我在局域网内部用PHP访问SQL,老是不能访问?
- ecplise pdt如何使用断点功能?
- mysql的not null 细节请教
- 这段代码在我本机的apache下运行即可用,可我传到服务器上后就不好用了为什么呢?
- 有个问题,始终不明白,如何把固定值传递给类内部的变量哪?(高分赠送)
- 怎样用php或其他方把把.php文件多余的空行删掉
- chr()???
- smarty模板中,js中怎么嵌套foreach或section循环?
- 帮忙写一个正则,替换超连接。谢谢!
$xml_string = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><response><error>0</error><message>-1100.0</message></response>";
$xml = simplexml_load_string($xml_string);
//对象转换成数组,方便引用
$arr = (array)$xml;
var_dump($arr);
$xml = simplexml_load_string($s);
print_r($xml);
SimpleXMLElement Object
(
[error] => 0
[message] => -1100.0
)
问题是我这里就是返回bool(false)
比如你接受的的数据在 $data 中,则
echo serialize($data);
贴出结果
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=96B4D5E802AEBBE6A1F92824C576690B; Path=/sdkproxy/; HttpOnly
Content-Type: text/html;charset=UTF-8
Content-Language: en-GB
Content-Length: 103
Date: Sat, 24 Aug 2013 03:22:14 GMT
Connection: close";s:4:"body";s:103:"
<?xml version="1.0" encoding="UTF-8"?><response><error>0</error><message>-1100.0</message></response>";}我感觉是数据的问题
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=96B4D5E802AEBBE6A1F92824C576690B; Path=/sdkproxy/; HttpOnly
Content-Type: text/html;charset=UTF-8
Content-Language: en-GB
Content-Length: 103
Date: Sat, 24 Aug 2013 03:22:14 GMT
Connection: close";s:4:"body";s:103:"
<?xml version="1.0" encoding="UTF-8"?><response><error>0</error><message>-1100.0</message></response>";}';
$d = unserialize($s);
$xml = simplexml_load_string(trim($d['body']));
print_r($xml);SimpleXMLElement Object
(
[error] => 0
[message] => -1100.0
)
你在获取数据时,没有切割干净。
http 数据头和数据体之间是“\r\n\r\n”,而你是按“\r\n”切割的
所以在数据体前面留有的“\r\n”造成分析失败