我正在尝试围绕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 Object([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] =&gt; iibgo9d785iavs5av5a6lrimbn2r54)任何人都可以告诉我如何将响应令牌放入SimpleXML对象中吗?
答案 0 :(得分:1)
我认为从API返回的XML实际上可能是这样的:
&lt;?xml version ='1.0'?&gt;&lt; response&gt;&lt; token&gt;&lt;![CDATA [iibgo9d785iavs5av5a6lrimbn2r54]]&gt;&lt; token&gt;&lt; response&gt;
SimpleXML无法解析CDATA对象。