2

我在这里有这段代码,但它给了我一个getAttributes在线错误,我一生都无法弄清楚原因。

这是我收到的错误消息:

致命错误:在第 58 行的 /Applications/MAMP/htdocs/blogDepot/application/pages/myBlogs/index.php 中的非对象上调用成员函数 getAttribute()

<?php
$rss = new DOMDocument();

$rss->load('http://newsrss.bbc.co.uk/rss/newsonline_uk_edition/uk/rss.xml');
$feed = array();

foreach ($rss->getElementsByTagName('item') as $node) {
    $item = array ( 
        'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
        'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
        'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
        'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
        'image' => $node->getElementsByTagName('thumbnail')->item(0)->getAttribute('url')
        );

    array_push($feed, $item);
}
?>
4

1 回答 1

2

也许那不是一个对象,尝试查看元素是否存在:

'image' => $node->getElementsByTagName('thumbnail')->item(0) ? $node->getElementsByTagName('thumbnail')->item(0)->getAttribute('url') : ''
于 2012-10-07T14:47:23.670 回答