Jump to content

Fatal error: Call to undefined method SimpleXMLElement::attribute()


anjshr7

Recommended Posts

Fatal error: Call to undefined method SimpleXMLElement::attribute() in D:\Program Files\wamp\www\New folder\ndtv_news.php on line 13

How to define method .....

<?php
//fetches articles from NDTV news RSS feed
function fetch_news(){

$data = file_get_contents('http://feeds.feedburner.com/News-TN');
$data = simplexml_load_string($data);

$articles = array();
foreach ($data->channel->item as $item){
$media = $item->children('http://search.yahoo.com/mrss');
$image = array();

foreach($media->attribute() as $key => $value)
{
$image[$key] = (string)$value;
}

$articles[] = array('title'=>(string)$item->title,
'description'=>(string)$item->description,
'link'=>(string)$item->link,
'date'=>(string)$item->pubDate,
'image'=>'$image');
}

return $articles;
}

?>

No.

 

There is no method named "attribute". Look at the documentation more closely.

 

While I'm here, there are other problems with the code:

- Either I'm blind or there is no "http://search.yahoo.com/mrss" namespace in the XML.

- I doubt $media->attribute() (after it gets fixed) will return what you want because $media is a set of elements.

- '$image' will be the literal value "$image". Variables don't work in single-quoted strings. Plus, it's an array so don't put it in a string to begin with.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.