Простая XML-ошибка PHP - Echo's ничто - PullRequest
0 голосов
/ 02 сентября 2010

Хорошо, ребята,

По сути, я загружаю симплексный_файл_файла с URL-адреса, подобного этому

$stats =  simplexml_load_file("http://example.com/api/api.asmx/Campaign.GetSummary?ApiKey=$apikey&CampaignID=$CID");

Что возвращает это

SimpleXMLElement Object
(
    [Recipients] => 1
    [TotalOpened] => 0
    [Clicks] => 0
    [Unsubscribed] => 0
    [Bounced] => 0
    [UniqueOpened] => 0
)

После того, как я загрузил это, я хочу отобразить информацию, поэтому я пытаюсь вывести это как

echo '<ul id="views">'; 
echo '<li>';
print $stats['Recipients'];
echo '</li>';
echo '</ul>';

Но когда он запускается, я не получаю никаких данных, только пустое <li></li>

Ответы [ 2 ]

1 голос
/ 02 сентября 2010

SimpleXMLElement Object это не массив, это объект, ключ к названию :-)

Вы должны получить к нему доступ, используя нотацию объекта

 $stats->Recipients
1 голос
/ 02 сентября 2010

При работе с SimpleXMLElements вы не используете нотацию [] - вместо этого вы используете ->.Итак, ваш код должен быть:

echo '<ul id="views">'; 
echo '<li>';
print $stats->Recipients;
echo '</li>';
echo '</ul>';

Я полагаю, что такая запись может (это имеет место в моем приложении, но я не слишком знаком с SimpleXMLElements), возвращает объект SimpleXMLElement, а нестрока - вы можете привести ее к строке / int / что угодно, чтобы использовать ее в сравнениях и т. д.

...