将Fogbugz API响应获取到SimpleXML对象时遇到问题



我正试图编写一个关于fogbugz API的包装器,从获取登录令牌开始。我似乎无法将令牌放入我的包装器对象中。

$url = "http://..../fogbugz/api.asp?cmd=logon&email=" . $_UN . "&password=" . $_PW;
$contents = file_get_contents($url);
$resp = simplexml_load_file($contents);
print_r($resp); 

响应为:SimpleXMLElement对象([token]=>SimpleXMLElement Object())令牌成员var中的对象为空。但是响应字符串是可以的。如果我使用

header("Content-type: text/xml");
echo $contents;

我从API得到了正确的XML。此外,如果我将xml用作字符串,那么直接在代码中它就可以正常工作:

$xml = "<?xml version='1.0'?><response><token>iibgo9d785iavs5av5a6lrimbn2r54</token></response>";
$resp = simplexml_load_string($xml);
print_r ($resp);

响应:SimpleXMLElement对象([token]=>iibgo9d785iavs5a5a6lrimbn2r54)有人能告诉我如何将响应令牌放入SimpleXML对象吗?

我认为从API返回的XML实际上可能是这样的:

<?xml版本="1.0"?><响应><token><![CDATA[iibgo9d785iavs5a5a6lrimbn2r54]><令牌><响应>

SimpleXML无法解析CDATA对象。

最新更新