простой разбор xml - PullRequest
       23

простой разбор xml

0 голосов
/ 21 марта 2011

во-первых, я немного php noob, думал, что у меня есть простой XML вниз, но, видимо, нет:

Я просто пытаюсь разобрать ленту новостей и вывести ее на экран, но ничего не получаю, и нет сообщения об ошибке, которое усложняет задачу. Я, наверное, совершаю глупую ошибку ...

вот код, который я написал:

<?php

$rss = simplexml_load_file('http://feeds.bbci.co.uk/news/world/rss.xml');

foreach($rss->channel->item as $item) {

    $title = $item['title'];

    echo $title;
    echo '<br /><hr />';
}

?>

Вот пример макета XML:

<rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">  
  <channel> 
    <title>BBC News - World</title>  
    <link>http://www.bbc.co.uk/go/rss/int/news/-/news/world/</link>  
    <description>The latest stories from the World section of the BBC News web site.</description>  
    <language>en-gb</language>  
    <lastBuildDate>Mon, 21 Mar 2011 14:31:31 GMT</lastBuildDate>  
    <copyright>Copyright: (C) British Broadcasting Corporation, see http://news.bbc.co.uk/2/hi/help/rss/4498287.stm for terms and conditions of reuse.</copyright>  
    <ttl>15</ttl>  
    <atom:link href="http://feeds.bbci.co.uk/news/world/rss.xml" rel="self" type="application/rss+xml"/>  
    <item> 
      <title>Gaddafi 'not targeted' by strikes</title>  
      <description>Coalition forces carrying out operations against Libyan government forces say Colonel Gaddafi himself is not a target, despite a strike on his compound.</description>  
      <link>http://www.bbc.co.uk/go/rss/int/news/-/news/world-africa-12802939</link>  
      <guid isPermaLink="false">http://www.bbc.co.uk/news/world-africa-12802939</guid>  
      <pubDate>Mon, 21 Mar 2011 14:39:21 GMT</pubDate>  
      <media:thumbnail width="66" height="49" url="http://news.bbcimg.co.uk/media/images/51766000/jpg/_51766446_011582753-1.jpg"/>  
      <media:thumbnail width="144" height="81" url="http://news.bbcimg.co.uk/media/images/51766000/jpg/_51766444_011582753-1.jpg"/> 
    </item>
  </channel> 
</rss> 

Кто-нибудь может увидеть какие-либо вопиющие ошибки в моем коде? Я использовал его раньше, и он работал нормально: (

спасибо за ваше время,

alsweet

1 Ответ

3 голосов
/ 21 марта 2011

Попробуйте это:

foreach($rss->channel->item as $item) {

    $title = (string)$item->title[0];

    echo $title;

}
...