2016-11-24 3 views
4

У меня есть массив, который выглядит так.Echo объект SimpleXMLElement

Array 
(
    [@attributes] => Array 
     (
      [version] => 2.0 
     ) 

    [channel] => SimpleXMLElement Object 
     (
      [title] => Active Fire Incident Page 
      [link] => http://www.ci.austin.tx.us/fact/default.cfm 
      [description] => This page provides information on active Austin/Travis County Fire incidents. Data is updated every 3 minutes. 

      [lastBuildDate] => Wed, 23 Nov 2016 10:59:38 PM GMT 
      [copyright] => 2016 City of Austin. All rights reserved. 
      [language] => en-us 
      [item] => SimpleXMLElement Object 
       (
        [title] => E ST ELMO RD/SHERATON AVE 
        [link] => http://www.ci.austin.tx.us/fact/default.cfm 
        [description] => AFD - 4700 S Congress Ave - BOX -Structure Fire - Wed, 23 Nov 2016 10:51 PM 
        [pubdate] => Wed, 23 Nov 2016 10:51 PM 
       ) 

     ) 

) 

Как бы я мог повторить последнюю часть массива? В этом разделе:

    [title] => E ST ELMO RD/SHERATON AVE 
        [link] => http://www.ci.austin.tx.us/fact/default.cfm 
        [description] => AFD - 4700 S Congress Ave - BOX -Structure Fire - Wed, 23 Nov 2016 10:51 PM 
        [pubdate] => Wed, 23 Nov 2016 10:51 PM 

С помощью этого кода:

echo $xml->channel->item->link; 

Я получаю

Notice:Trying to get property of non-object 
+2

Зачем вам нужен foreach? 'echo $ xml-> channel-> item-> link;' – bansi

+0

В фиде будет больше событий. Я могу обойтись без него. Я чувствую, что [@attributes] все испортит. есть способ пропустить его? –

+0

$ array ['channel'] -> item-> ссылка работает? – sensorario

ответ

0
echo ($xml['channel'])->item->link; 

Решение.

2

Вы используете неверный код, попробуйте это

foreach($xml->channel->item as $key => $product){ 
    echo $product->link; 

ИЛИ непосредственно

echo $xml->channel->item->link; 
+0

Не работает. все еще получая уведомление. –

Смежные вопросы