Возникли проблемы при получении ответа API Fogbugz в объект SimpleXML - PullRequest
0 голосов
/ 26 марта 2012

Я пытаюсь написать обертку вокруг API fogbugz, начиная с получения токена для входа. Кажется, я не могу вставить токен в объект-оболочку.

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

Я получаю правильный XML обратно из API. Кроме того, если я использую xml в качестве строки, прямо в коде все работает нормально:

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

Ответ: Объект SimpleXMLElement ([token] => iibgo9d785iavs5av5a6lrimbn2r54) Может кто-нибудь подсказать, как получить токен ответа в объект SimpleXML?

1 Ответ

1 голос
/ 05 апреля 2012

Я думаю, что XML, возвращенный из API, на самом деле может выглядеть так:

<? Xml version = '1.0'?> <! [CDATA [iibgo9d785iavs5av5a6lrimbn2r54]]>

SimpleXML не может анализировать объекты CDATA.

...