simplexml с curl, чтобы получить отформатированный xml вызов с api

Хорошо, поэтому я получаю вызов api из моей панели продавцов для хостинга. Я пытаюсь сделать это для своих стран:

<select name="countries"> <option value="n226">United States</option> </select> 

Где значение равно имени тега, а отображение равно имени для каждой страны.

В настоящее время я использую Curl и php-код simplexml_load_string.

 function test() { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "ApiCallUrl"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, POST); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $string = curl_exec($ch); $xml = simplexml_load_string($string); print_r($xml); } 

То, что у меня выше, возвращает то, что он должен возвращать (в слегка беспорядочном беспорядке)

 SimpleXMLElement Object ( [command] => 0 [error_code] => 0 [ttl] => 56000 [countries] => SimpleXMLElement Object ( [n0] => SimpleXMLElement Object ( [name] => Afghanistan [iso2] => AF [phone_code] => 93 ) [n1] =&gt; SimpleXMLElement Object ( [name] =&gt; Albania [iso2] =&gt; AL [phone_code] =&gt; 355 ) 

Короче говоря, это то, что он возвращает в настоящее время.

Теперь, когда я меняю print_r($xml); print_r($xml->name); как показано в примере 1 на веб-сайте php: http://php.net/manual/en/function.simplexml-load-string.php, он возвращает только: SimpleXMLElement Object ( ) ни с чем другим.

Прямо сейчас я просто пытаюсь повторить название каждой страны, меня не обязательно беспокоит выбор сейчас.

Итак, зачем он работал с: print_r($xml); но не с print_r($xml->name);

КСТАТИ:

Прежде чем я что-нибудь сделаю с api, он отобразит следующее: (я достиг этого, добавив print_r($string); непосредственно после определения $ string

 <ampa> <command></command>0 <error_code>0</error_code> <ttl>56000</ttl> <countries> <n0> <name>Afghanistan</name> <iso2>AF</iso2> <phone_code>93</phone_code> </n0> <n1> <name>Albania</name> <iso2>AL</iso2> <phone_code>355</phone_code> </n1>