我以前问过这个问题,但没有得到答案。我会尽量缩小问题的范围。查看此帖子这个代码有什么问题:
$url = "http://.../fogbugz/api.asp?cmd=logon&email=" . $_UN . "&password=" . $_PW;
$resp = new SimpleXMLElement(file_get_contents($url));
收益率:
SimpleXMLElement Object ( [token] => SimpleXMLElement Object ( ) )
如果我使用标头将file_get_contents的响应直接输出到屏幕,我会看到响应是正确的,并且令牌元素中填充了有效的令牌。然而simplexml似乎无法读取令牌。
我认为SimpleXML无法解析CDATA部分,而且由于FogBugzXMLneneneba API返回的大部分数据都是UTF-8数据,因此它被放入XMLCDATA块中。你的浏览器可能对你隐瞒了这一点,但如果你看看cmd=logon
返回的原始信息,我相信它是CDATA。