XML项不存在时出现php错误
我正在使用PHP获取一个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) {
$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'];
}