2012-03-26 5 views
0

Ich versuche, einen Wrapper um die fogbugz-API zu schreiben, beginnend mit dem Erhalt eines Login-Tokens. Ich bin anscheinend nicht in der Lage, den Token in mein Wrapper-Objekt zu bekommen.Probleme beim Abrufen der Fogbugz-API-Antwort in ein SimpleXML-Objekt

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

Response ist: SimpleXMLElement Object ([token] => SimpleXMLElement Object()), um das Objekt in dem Token-Element var leer ist. Die Antwortzeichenfolge ist jedoch OK. Wenn ich

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

verwende, bekomme ich das korrekte XML zurück von der API. Außerdem, wenn ich die XML als String verwenden, befindet sich direkt im Code funktioniert es gut:

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

Antwort: SimpleXMLElement Object ([token] => iibgo9d785iavs5av5a6lrimbn2r54) Kann jemand bitte sagen Sie mir, wie Sie die Antwort-Token, um in das SimpleXML-Objekt?

Antwort

1

Ich denke, die XML-Daten aus der API zurückgegeben werden wie folgt aussehen könnte in der Tat:

< xml version = '1.0'> < Antwort> < token> < [CDATA [iibgo9d785iavs5av5a6lrimbn2r54]]> <?! Token> < Antwort>

SimpleXML kann CDATA-Objekte nicht analysieren.

Verwandte Themen