XML项不存在时出现php错误

XML项不存在时出现php错误,php,xml,feed,Php,Xml,Feed,我正在使用PHP获取一个XML提要并将其显示在我的网站上,该提要来自 我使用一些简单的PHP代码来获得如下所示的详细信息: $feed = new SimpleXMLElement('http://blog.newsreach.co.uk/atom.xml', null, true); $i = 0; foreach($feed->entry as $entry) { if ($i < 4) {

我正在使用PHP获取一个XML提要并将其显示在我的网站上,该提要来自

我使用一些简单的PHP代码来获得如下所示的详细信息:

    $feed = new SimpleXMLElement('http://blog.newsreach.co.uk/atom.xml', null, true);

    $i = 0;

    foreach($feed->entry as $entry)
    {
        if ($i < 4)
        {
            $title = mysql_real_escape_string("{$entry->title}");
            $summary = mysql_real_escape_string("{$entry->content}");
            $summary = strip_tags($summary);
            $summary = preg_replace('/\s+?(\S+)?$/', '', substr($summary, 0, 100));
            $url = mysql_real_escape_string("{$entry->link[4]['href']}");
            $media = $entry->children('http://search.yahoo.com/mrss/');
            $attrs = $media->thumbnail[0]->attributes();
            $img = $attrs['url'];
        }
    }

我不太走运,我希望有人能帮我检查XML项是否存在,然后根据它进行处理


谢谢大家

您可以检查它是否已设置且不是空的:

$img = '';
if (!empty($media->thumbnail[0])) {
    $attrs = $media->thumbnail[0]->attributes();
    $img = $attrs['url'];
}

请记住,$media是一个对象,您不能像数组一样访问它(
$media['thumbnail']
应该是
$media->thumbnail
)。

检查元素是否与
isset($media->thumbnail[0])
一起存在。这就是我感到困惑的地方,我误以为$media是数组而不是对象。
    if ($media['thumbnail'] == 0)
    {
    }
    else
    {
        $attrs = $media->thumbnail[0]->attributes();
            $img = $attrs['url'];
    }
$img = '';
if (!empty($media->thumbnail[0])) {
    $attrs = $media->thumbnail[0]->attributes();
    $img = $attrs['url'];
}