无法将 XML 响应转换为 simplexml 对象



我以前问过这个问题,但没有得到答案。我会尽量缩小问题的范围。查看此帖子这个代码有什么问题:

$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。

最新更新