• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

XML解析

php 搞代码 4年前 (2022-01-24) 36次浏览 已收录 0个评论
文章目录[隐藏]

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″?>0-1100.0″
}
是一个web服务端的返回值

用 simplexml_load_string解析返回false,我都诧异了

[‘body’]的内容如何转换成一个数组形式

回复讨论(解决方案)

$xml_string = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>0-1100.0";  $xml = simplexml_load_string($xml_string);  //对象转换成数组,方便引用  $arr = (array)$xml; var_dump($arr);

$ar = simplexml_load_string($data[‘body’]);

$ar = simplexml_load_string($data[‘body’]);

我还不至于犯这个低级错误

不知道你会犯什么样的高级错误

$s = '<?xml version="1.0" encoding="UTF-8"?>0-1100.0';$xml = simplexml_load_string($s);print_r($xml);

SimpleXMLElement Object
(
[error] => 0
[message] => -1100.0
)

不知道你会犯什么样的高级错误

$s = '<?xml version="1.0" encoding="UTF-8"?>0-1100.0';$xml = simplexml_load_string($s);print_r($xml);

SimpleXMLElement Object
(
[error] => 0
[message] => -1100.0
)

问题是我这里就是返回bool(false)

贴出接收到的数据的序列化值
比如你接受的的数据在 $data 中,则
echo serialize($data);
贴出结果

贴出接收到的数据的序列化值
比如你接受的的数据在 $data 中,则
echo serialize($data);
贴出结果

a:2:{s:6:”header”;s:267:”HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=96B4D5E802AEBBE6A1F92824C576690B; Path=/sdkproxy/; HttpOnl%本文来源gaodai#ma#com搞*代#码9网#搞gaodaima代码y
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″?>0-1100.0″;}

我感觉是数据的问题

$s = 'a:2:{s:6:"header";s:267:"HTTP/1.1 200 OKServer: Apache-Coyote/1.1Set-Cookie: JSESSIONID=96B4D5E802AEBBE6A1F92824C576690B; Path=/sdkproxy/; HttpOnlyContent-Type: text/html;charset=UTF-8Content-Language: en-GBContent-Length: 103Date: Sat, 24 Aug 2013 03:22:14 GMTConnection: close";s:4:"body";s:103:"<?xml version="1.0" encoding="UTF-8"?>0-1100.0";}';$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”造成分析失败

$s = 'a:2:{s:6:"header";s:267:"HTTP/1.1 200 OKServer: Apache-Coyote/1.1Set-Cookie: JSESSIONID=96B4D5E802AEBBE6A1F92824C576690B; Path=/sdkproxy/; HttpOnlyContent-Type: text/html;charset=UTF-8Content-Language: en-GBContent-Length: 103Date: Sat, 24 Aug 2013 03:22:14 GMTConnection: close";s:4:"body";s:103:"<?xml version="1.0" encoding="UTF-8"?>0-1100.0";}';$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”造成分析失败

确实是这个原因,谢谢你的细心回答


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:XML解析

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址